- Southampton, England
Configure PostgreSQL to accept TCP/IP connections
Stack: MacPorts PostgreSQL 9.x on OS X 10.6 (Snow Leopard)
After switching to a new Mac, I didn't have time to reinstall and setup PostgreSQL. I decided to access PostgreSQL on my old machine over the network. When I tried to connect, I hit the following error:
psql: could not connect to server: Connection refused
Is the server running on host "192.168.0.6" and accepting TCP/IP connections on port 5432?
Well, it was running but obviously not accepting connections. Let's change that.
Get some superuser privileges and find the location of pg_hba.conf (Client Authentication Configuration File)
$ sudo -s
$ find / -type f -name "pg_hba.conf"
Change directory to where it's located and edit:
$ cd /opt/local/var/db/postgresql90/defaultdb/
$ vim pg_hba.conf
Add the following line where x.x.x.x is the ip address of the client machine:
host all all x.x.x.x/24 trust
Now edit postgresql.conf (PostgreSQL configuration) that's located in the same directory.
$ vim postgresql.conf
Wildcard the listen address:
listen_addresses = '*'
Restart PostgreSQL and try connecting again from the client machine.