PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Erreur de connexion lors de la connexion à PostgreSQL en tant qu'utilisateur postgres ?

Vous essayez de vous connecter à PostgreSQL sur localhost en utilisant un script exécuté sur votre ordinateur, mais aucun serveur PostgreSQL n'y est exécuté.

Pour que cela fonctionne, vous devez vous connecter en ssh au serveur distant, puis y exécuter votre script Python, où le serveur PostgreSQL est "local" par rapport au script Python.

(C'est pourquoi exécuter psql fonctionne - parce que vous l'exécutez sur le serveur distant , où PostgreSQL est "local" par rapport à psql ).

Vous pouvez également :

  • Utilisez un tunnel SSH pour transférer le port PostgreSQL de l'ordinateur local à l'ordinateur distant ; ou

  • Connectez-vous directement via TCP/IP au serveur PostgreSQL distant en utilisant son nom d'hôte ou son adresse IP, après avoir activé les connexions à distance sur le serveur.

Notez qu'il suffit de mettre l'adresse IP ou le nom d'hôte du serveur dans la chaîne de connexion au lieu de localhost ne fonctionnera pas sauf si vous configurez également le serveur pour accepter les connexions à distance . Vous devez définir listen_addresses pour écouter les connexions non locales, ajoutez les règles de pare-feu requises, définissez pg_hba.conf pour autoriser les connexions à partir de machines distantes et, de préférence, configurez SSL. Tout cela est couvert dans le chapitre Authentification du client du manuel de l'utilisateur de PostgreSQL.

Vous trouverez probablement un tunnel SSH plus simple et plus facile à comprendre.