sql >> Database teknologi >  >> RDS >> PostgreSQL

Forbindelsesfejl under forbindelse til PostgreSQL som postgres-bruger?

Du forsøger at oprette forbindelse til PostgreSQL på localhost ved at bruge et script, der kører på din computer, men der kører ingen PostgreSQL-server der.

For at dette skal virke, skal du ssh til fjernserveren og derefter køre dit Python-script der, hvor PostgreSQL-serveren er "lokal" i forhold til Python-scriptet.

(Det er derfor, at du kører psql virker - fordi du kører det på fjernserveren , hvor PostgreSQL er "lokal" i forhold til psql ).

Alternativt kan du:

  • Brug en SSH-tunnel til at fremsende PostgreSQL-porten fra den lokale computer til den eksterne computer; eller

  • Tilslut direkte via TCP/IP til den eksterne PostgreSQL-server ved hjælp af dens værtsnavn eller IP-adresse, efter at have aktiveret fjernforbindelser på serveren.

Bemærk, at du bare sætter serverens IP-adresse eller værtsnavn i forbindelsesstrengen i stedet for localhost virker ikke medmindre du også konfigurerer serveren til at acceptere fjernforbindelser . Du skal indstille listen_addresses for at lytte efter ikke-lokale forbindelser, tilføje eventuelle påkrævede firewall-regler, sæt pg_hba.conf at tillade forbindelser fra fjernmaskiner, og helst opsætte SSL. Alt dette er dækket i kapitlet om klientgodkendelse i PostgreSQL-brugermanualen.

Du vil sandsynligvis finde en SSH-tunnel enklere og lettere at forstå.




  1. Hvordan får man den seneste besked i hver samtale fra en bestemt bruger i SQL?

  2. Hvilken MySQL-datatype skal bruges til breddegrad/længdegrad med 8 decimaler?

  3. heroku:relation auth_group eksisterer ikke

  4. eksporter mysql-liste over tabeller fra mysql til csv-fil ved hjælp af php