Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am having a problem getting postgres to accept connections from my other server. Here's my setup:

  • APP06 ( Server running Postgres
  • APP05 ( Server trying to connect to Postgres

Here's my /var/lib/pgsql/data/pg_hba.conf file on app06:


# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all       trust
host    all         all       trust
host    all         all             trust
# IPv6 local connections:
host    all         all         ::1/128               trust

It's not exactly what I want (I'd like to use LDAP), but it should at least work. I want to connect to The first host line should be all I need. The third host line should allow a connection from anywhere.

Now, we start up Postgres on app06

 $ /etc/init.d/postgres start
 $ /etc/init.d/postgres status

 pg_ctl: server is running (PID: 30091)
 /usr/bin/postgres "-D" "/var/lib/pgsql/data"

Looks good...

Let's look at Netstat:

$ netstat -nlp | grep 5432
tcp        0      0    *                   LISTEN      30091/postmaster    
unix  2      [ ACC ]     STREAM     LISTENING     16490154 30091/postmaster    /tmp/.s.PGSQL.5432

Okay... I think... Not being a real system administrator, I can't say exactly what that means, but it looks like PID 30091 (process postmaster) has port 5432 open.

Let's see if anything is listening on port 5432

$ telnet localhost 5432
Connected to localhost.localdomain (
Escape character is '^]'.

Okay, Port 5432 is open and accepting connections.

Now, we'll go to APP05 and see if we can connect...

I've already tried running psql from app05 with no success. Can I talk to app06?

$ ping app06

PING app06 ( 56(84) bytes of data.
64 bytes from app06 ( icmp_seq=1 ttl=64 time=0.901 ms
64 bytes from app06 ( icmp_seq=2 ttl=64 time=0.230 ms

--- app06 ping statistics ---
2 packets transmitted, 6 received, 0% packet loss, time 5001ms

Okay, I can talk to app06 from app05. Let's see if I can connect to Postgres' port:

$ telnet app06 5432
telnet: connect to address Connection refused
telnet: Unable to connect to remote host: Connection refused

I'm not able to connect to port 5432

I ran /usr/sbin/lokkit and verified that the software firewall is turned off.

I'm not a network or system administrator by any means. I am not a postgres administrator either. It's very possible I missed some simple, stupid thing, but I don't know what.

I'm pretty sure that Port 5432 on these machines are open on the network. I tried switching the Postgres port to 8999 which I sure is not blocked, but I get the same issue.

Any idea what I am doing wrong?

share|improve this question
up vote 10 down vote accepted

Open postgresql.conf in a text editor and look for the listen_addresses keyword. Set it to *

Restart pgsql.

share|improve this answer
Yup, that was it. Thanks. – David W. Apr 17 '12 at 21:09
how could I add more IP address – DeveloperX Mar 6 '14 at 14:38

Just FYI ... one incredibly dumb thing that I nevertheless did was to forget to remove the leading "#" in the "listen_addresses" line in the configuration file when I went to change it. (Yep... therefore, the line was [still] a comment! Duh-h-h-hhh.)

share|improve this answer

the answer is very simple, your postgress installation is binded to interface only

tcp        0      0    *                   LISTEN      30091/postmaster    

you need to reconfigure it and bind it to your network interface / IP address and you'll be able to access

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.