Rocco Altier <RoccoA@Routescape.com> writes:
> Another idea is to have the -i take an optional argument. Something where
> -i means bind to both v4 and v6, and -i4 means to only v4, and -i6 to only
> v6.
I don't see why we need any such thing. The current behavior of the
postmaster (assuming -i or tcpip_socket is set) is:
1. By default: bind to all IPs on the machine.
2. If virtual_host is set: bind only to that one IP.
It seems to me that in a machine with both v4 and v6 IP addresses, the
natural extension is that the default behavior is to bind to all of
them, or if virtual_host is set then bind to only that one, be it v4 or
v6. (Does the existing patch work with virtual_host identifying a v6
IP? If not, that's certainly a bug.)
No one has offered any scenario in which it's important to bind to only
v4 or only v6 addresses when both are present. In the absence of a
compelling argument why that would be useful, I do not see why we're
worrying. My own thought is that if I wanted to constrain PG to bind
to a subset of a machine's addresses, the extension I'd want is to allow
virtual_host to contain a list of names or IP addresses --- of either
version. Basing it on v4 versus v6 has no payback that I can see.
regards, tom lane