问题
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host "45.32.1XX.2XX" and accepting TCP/IP connections on port 5432?
Here,I've open my sockets.
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 11516/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 11516/postgres
I googled that I should modify this pg_hba.conf
,but in my postgresql
root files, I didn't find this file at all.
Also I've succeed in connecting my another server.
Thanks.
Here,I've modified the pg_hba.conf
,updated thishost all all 218.3.A.B trust
and reloaded.But it didn't work either.
回答1:
Your netstat output shows that postgres is listening on 127.0.0.1
, but your error suggests you are trying to connect to 45.32.1XX.2XX
. I am pretty sure you have already diagnosed your problem.
You will need to modify the listen_addresses
setting your postgresql.conf
file (not pg_hba.conf
). The postgresql.conf
file is found in your postgresql data directory, which is often something like /var/lib/postgresql/data
or /var/lib/pgsql/data
.
The listen_addresses
parameter is documented here.
回答2:
1. Modify two configure files
# vi /var/lib/pgsql/data/postgresql.conf
Replace the line:
listen_addresses = 'localhost' -> listen_addresses = '*'
# vi /var/lib/pgsql/data/pg_hba.conf
Add the line at the very end:
host all all 0.0.0.0/0 trust
(If IPv6:
host all all ::/0 trust)
2. Restart the database service
# service postgresql restart
3. Disable the firewall
# rcSuSEfirewall2 stop
# chkconfig SuSEfirewall2 off
# chkconfig SuSEfirewall2_init off
回答3:
Check ports too.
Maybe your application isn't running on default 5432
.
the port configuration are on postgresql.conf
file
来源:https://stackoverflow.com/questions/39929258/connection-refused-with-postgresql-using-psycopg2