Will Jones
Will Jones

Reputation: 345

Remote connection issues with psycopg2 and postgresql

I'm trying to connect to a postgresql database using the following python code:

try:
    conn = psycopg2.connect("host = '10.47.65.237' dbname = 'testDB' user = 'pi' password = 'raspberry'")
except:
    print("Unable to connect to testDB at 10.47.65.237. Sending Alert.")

This code works with localhost 127.0.0.1 but when I go to a different machine and try to run it with its ip above it won't connect.

Things I've done: 1. Port 5432 is open 2. edited postgresql.conf by adding the line "listen_addresses='10.47.65.138'" 3. edited pg_hba.conf by adding the following configuration "host all all 10.47.65.138 md5"

Any other things I could try or I'm missing?

Upvotes: 1

Views: 2945

Answers (1)

200_success
200_success

Reputation: 7572

Running telnet 10.47.65.237 5432 on the client should result in a Connection Refused error, which indicates that the problem has nothing to do with psycopg2.

You have misconfigured the server. listen_addresses controls which IPs the server will answer on, not which IPs the server will permit connections from. Your server's postgresql.conf should have either listen_addresses='10.47.65.237' or listen_addresses='*'. Edit the configuration and restart PostgreSQL on the server, then you should be able to connect successfully using telnet and psycopg2.

Upvotes: 3

Related Questions