Thread: BUG #7632: Postgres binds to all IPs even when listen_addresses="localhost"

BUG #7632: Postgres binds to all IPs even when listen_addresses="localhost"

From
pj@illuminatedcomputing.com
Date:
The following bug has been logged on the website:

Bug reference:      7632
Logged by:          Paul Jungwirth
Email address:      pj@illuminatedcomputing.com
PostgreSQL version: 9.1.6
Operating system:   Ubuntu 12.04 LTS, x86_64
Description:        =


After a default install of Postgres, I see that it's binding not just to
localhost, but also to my public IP. The port is reported open by nmap, and
I see this:

    # netstat -an | grep 5432
    tcp        0      0 66.175.223.51:5432      0.0.0.0:*              =

LISTEN     =

    tcp        0      0 127.0.0.1:5432          0.0.0.0:*              =

LISTEN     =


Postgres still binds to the public IP even after I uncomment the
`listen_addresses` line at `/etc/postgresql/9.1/main/postgresql.conf`, set
it to the following, and do `service postgresql restart`:

    listen_addresses =3D 'localhost'
pj@illuminatedcomputing.com writes:
> After a default install of Postgres, I see that it's binding not just to
> localhost, but also to my public IP.

This behaves as expected for me.  I'm wondering whether your DNS
server is resolving "localhost" as meaning both 127.0.0.1 and your
public IP.  "dig localhost." might be illuminating.

            regards, tom lane

Re: BUG #7632: Postgres binds to all IPs even when listen_addresses="localhost"

From
Paul Jungwirth
Date:
> This behaves as expected for me.  I'm wondering whether your DNS
> server is resolving "localhost" as meaning both 127.0.0.1 and your
> public IP.  "dig localhost." might be illuminating.

Wow, that is some psychic debugging. Sure enough, my /etc/hosts is
setting localhost to both 127.0.0.1 and my other IP. Using
`listen_addresses = '127.0.0.1'` fixes the problem.

Thank you!
Paul

--
_________________________________
Pulchritudo splendor veritatis.

Re: BUG #7632: Postgres binds to all IPs even when listen_addresses="localhost"

From
John R Pierce
Date:
On 10/31/12 1:43 PM, Paul Jungwirth wrote:
>> This behaves as expected for me.  I'm wondering whether your DNS
>> >server is resolving "localhost" as meaning both 127.0.0.1 and your
>> >public IP.  "dig localhost." might be illuminating.
> Wow, that is some psychic debugging. Sure enough, my /etc/hosts is
> setting localhost to both 127.0.0.1 and my other IP. Using
> `listen_addresses = '127.0.0.1'` fixes the problem.


fix your /etc/hosts .... thats an artifact of the #@$@# RHEL installer,
if the network isn't properly configured at install time, it loves to do
that with the hostname.



--
john r pierce                            N 37, W 122
santa cruz ca                         mid-left coast