Nejprve otestujte, zda se můžete připojit k databázi přes psql :
psql -h ip_address -d name_of_the_database -U username
Pokud se zobrazí chyba odmítnutí připojení, museli jste něco nastavit špatně a zkontrolovat Co bych měl zkontrolovat, když vzdálené připojení k PostgreSQL nefunguje?
psql: could not connect to server: Connection refused Is the server running on host ip_address
Co mám zkontrolovat, když vzdálené připojení k PostgreSQL nefunguje?
-
Zkontrolujte konfiguraci ověřování v
pg_hba.conf
Obvykle se nachází na linuxu -
/etc/postgresql/version/main/pg_hba.conf
.Měli byste povolit ověřování pro klienta pro konkrétní IP všechny ze všech IP adres:# 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
Další informace o nastavení
pg_hba.conf
najdete v dokumentaci . -
Pak byste měli nastavit poslech na konkrétním portu.
Musíte najít
postgresql.conf
. Obvykle se nachází/etc/postgresql/9.1/main/postgresql.conf
) a změňte řádek s adresou listen_ z:#listen_address = ''
to (nezapomeňte odstranit #, což znamená komentář):
listen_address = '*'
-
Po každém kroku byste měli restartovat službu Postgresql:
sudo service postgresql restart
-
Po kroku 2 byste měli vidět port 5432 (nebo 5433) v naslouchací adrese po příkazu netstat:
netstat -ntlp
-
Poté musíte otevřít port pro PostgreSQL ve firewallu:
sudo ufw allow 5432
Nastavení brány firewall můžete zkontrolovat pomocí (v seznamu byste měli vidět 5432):
sudo ufw status
-
Pokud některý z předchozích kroků nefunguje, měli byste zkontrolovat, zda PostgreSQL neběží na jiném portu (obvykle 5433) a zopakovat předchozí kroky.
To se stává velmi často, když máte více spuštěných verzí PostgreSQL nebo upgradujete databázi a zapomenete zastavit předchozí verzi PostgreSQL.
Pokud máte problémy s nalezením konfiguračních souborů, můžete se podívat na toto vlákno Kde jsou mé soubory postgres *.conf? .