Christoph Berg <myon@debian.org> writes:
> http://man7.org/linux/man-pages/man7/ip.7.html
> IP_FREEBIND (since Linux 2.4)
> If enabled, this boolean option allows binding to an IP
> address that is nonlocal or does not (yet) exist. This per‐
> mits listening on a socket, without requiring the underlying
> network interface or the specified dynamic IP address to be up
> at the time that the application is trying to bind to it.
> This option is the per-socket equivalent of the ip_nonlo‐
> cal_bind /proc interface described below.
> This had been requested in 2015 in bug #13793. I think it makes sense
> to support this. Especially with IPv6, it is very common that
> addresses are not yet assigned when services are starting. (I don't
> know yet if other OSes support this option as well.)
That man page says specifically that it's Linux-only, although that
shouldn't stop us from using it to solve a Linux-specific problem
(which systemd is, AFAIK).
> Do we want that in PostgreSQL?
IIRC, the main concern expressed previously is that this would completely
defeat error checking on the listen_addresses parameter. However, that
doesn't apply if said parameter is "*". Would there be any sense in
applying IP_FREEBIND only for "*"?
regards, tom lane