Thread: Solutions for listening on multiple ports?

Solutions for listening on multiple ports?

From
"Jason L. Buberel"
Date:
Is there a 'generally accepted' best practice for enabling a single postgres instance to listen for client connections on more than one ip/port combination?

As far as I can tell, the 'listen_address' and 'port' configuration variables can only accommodate single values:

listen_address = 127.0.0.1
port = 5432

What I would like to simulate is Apache's notation:

Listen: 127.0.0.1:5432
Listen: 192.168.0.1:54824
...

The force behind this is network security policies and such. I would prefer to not resort to kernel-level netfilter trickery to accomplish this, if possible.

Thanks,
Jason

Re: Solutions for listening on multiple ports?

From
Erik Jones
Date:
On Oct 9, 2007, at 11:22 AM, Jason L. Buberel wrote:

> Is there a 'generally accepted' best practice for enabling a single
> postgres instance to listen for client connections on more than one
> ip/port combination?
>
> As far as I can tell, the 'listen_address' and 'port' configuration
> variables can only accommodate single values:
>
> listen_address = 127.0.0.1
> port = 5432
>
> What I would like to simulate is Apache's notation:
>
> Listen: 127.0.0.1:5432
> Listen: 192.168.0.1:54824
> ...
>
> The force behind this is network security policies and such. I
> would prefer to not resort to kernel-level netfilter trickery to
> accomplish this, if possible.

You can separate listen addresses with commas:

listen_address = '127.0.0.1,192.168.0.1'

AFAIK, you only get one port per cluster.

Erik Jones

Software Developer | Emma®
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com



Re: Solutions for listening on multiple ports?

From
"Scott Marlowe"
Date:
On 10/9/07, Jason L. Buberel <jason@buberel.org> wrote:
>
>  Is there a 'generally accepted' best practice for enabling a single
> postgres instance to listen for client connections on more than one ip/port
> combination?
>
>  As far as I can tell, the 'listen_address' and 'port' configuration
> variables can only accommodate single values:
>
>  listen_address = 127.0.0.1
>  port = 5432

As mentioned by someone else, you can have > 1 IP be listended to, but
only the one port.  You could likely use port forwarding to accomplish
having pgsql listen on > 1 port.  In linux you'd do this with
iptables.