Først og fremmest test, om du kan oprette forbindelse til databasen via psql :
psql -h ip_address -d name_of_the_database -U username
Hvis du får en fejlmeddelelse om afvist forbindelse, var du nødt til at konfigurere noget forkert og kontrollere Hvad skal jeg kontrollere, hvis fjernforbindelse til PostgreSQL ikke virker?
psql: could not connect to server: Connection refused Is the server running on host ip_address
Hvad skal jeg kontrollere, hvis fjernforbindelse til PostgreSQL ikke virker?
-
Tjek godkendelseskonfigurationen i
pg_hba.conf
Normalt placeret på linux -
/etc/postgresql/version/main/pg_hba.conf
.Du bør tillade godkendelse for klient for specifik IP alt fra alle IP-adresser:# Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 0.0.0.0/0 md5 # IPv6 local connections: host all all ::0/0 md5 #all ips host all all all md5
Flere oplysninger om, hvordan du opsætter
pg_hba.conf
du kan finde i dokumentation . -
Så skal du konfigurere lytning på en bestemt port.
Du skal finde
postgresql.conf
. Normalt placeret/etc/postgresql/9.1/main/postgresql.conf
) fil og ændre linjen med listen_address fra:#listen_address = ''
til (glem ikke at fjerne #, hvilket betyder kommentar):
listen_address = '*'
-
Efter hvert trin skal du genstarte Postgresql-tjenesten:
sudo service postgresql restart
-
Efter trin 2 skulle du se port 5432 (eller 5433) i lytteadressen efter netstat-kommandoen:
netstat -ntlp
-
Derefter skal du åbne porten for PostgreSQL i firewall:
sudo ufw allow 5432
Du kan tjekke firewall-indstillingerne med (du skulle se 5432 på listen):
sudo ufw status
-
Hvis et af de foregående trin ikke virker, bør du kontrollere, om PostgreSQL ikke kører på en anden port (normalt 5433) og gentage de foregående trin.
Dette sker meget ofte, når du har flere kørende versioner af PostgreSQL, eller du opgraderer databasen og glemte at stoppe den tidligere version af PostgreSQL.
Hvis du har problemer med at finde konfigurationsfiler, kan du tjekke denne tråd Hvor er mine postgres *.conf-filer? .