Felipe, miembro de este staff, nos ha hecho el favor de redactar este post ya que controla muy bien dicho tema.
Solución:
listen_addresses controla en qué IP responderá el servidor, no en qué IP el servidor permitirá que las conexiones se autentiquen. Es completamente razonable y normal usar listen_addresses '*'
por lo tanto, el servidor aceptará conexiones entrantes en cualquier ip asignada a una interfaz en el host del servidor postgresql, mientras usa pg_hba.conf para controlar el acceso a un nivel más detallado para qué IP aceptará inicios de sesión para bases de datos y usuarios específicos.
Establecer listen_addresses en ‘*’ es normal, como señala dbenhur. También puede usar herramientas como iptables para denegar el acceso al puerto aparte de ciertas IP remotas. Incluso puede hacer ambas cosas: la redundancia en la seguridad no es necesariamente algo malo (aunque confiar en la seguridad de la dirección IP no es tan bueno).
Ten en cuenta difundir esta noticia si te valió la pena.