Solutions for listening on multiple ports?

Started by Jason L. Buberelover 18 years ago3 messagesgeneral
Jump to latest
#1Jason L. Buberel
jason@buberel.org

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

#2Erik Jones
erik@myemma.com
In reply to: Jason L. Buberel (#1)
Re: Solutions for listening on multiple ports?

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

#3Scott Marlowe
scott.marlowe@gmail.com
In reply to: Jason L. Buberel (#1)
Re: Solutions for listening on multiple ports?

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.