sql >> Databasteknik >  >> RDS >> PostgreSQL

Anslutningsfel vid anslutning till PostgreSQL som postgres-användare?

Du försöker ansluta till PostgreSQL på localhost använder ett skript som körs på din dator, men det finns ingen PostgreSQL-server som körs där.

För att detta ska fungera måste du ssh till fjärrservern och sedan köra ditt Python-skript där, där PostgreSQL-servern är "lokal" i förhållande till Python-skriptet.

(Det är därför du kör psql fungerar - eftersom du kör det på fjärrservern , där PostgreSQL är "lokal" i förhållande till psql ).

Alternativt kan du:

  • Använd en SSH-tunnel för att vidarebefordra PostgreSQL-porten från den lokala datorn till den fjärranslutna; eller

  • Anslut direkt över TCP/IP till den fjärranslutna PostgreSQL-servern med dess värdnamn eller IP-adress, efter att du har aktiverat fjärranslutningar på servern.

Observera att du bara lägger in serverns IP-adress eller värdnamn i anslutningssträngen istället för localhost kommer inte att fungera om du inte också konfigurerar servern att acceptera fjärranslutningar . Du måste ställa in listen_addresses för att lyssna efter icke-lokala anslutningar, lägg till eventuella brandväggsregler som krävs, ställ in pg_hba.conf för att tillåta anslutningar från fjärrdatorer, och ställ gärna in SSL. Allt detta behandlas i kapitlet Klientautentisering i PostgreSQL användarmanual.

Du kommer förmodligen hitta en SSH-tunnel enklare och lättare att förstå.




  1. Går det att använda SQL för att sortera efter datum men sätta nolldatum längst bak i resultatuppsättningen?

  2. doktrin 2 - Hur kan man förbättra spolningseffektiviteten?

  3. Hur LCASE()-funktionen fungerar i MySQL

  4. Byt namn på kolumn SQL Server 2008