listen_addresses controlla su quali IP risponderà il server, non da quali IP il server consentirà alle connessioni di autenticarsi. È del tutto ragionevole e normale usare listen_addresses '*'
quindi il server accetterà le connessioni in entrata su qualsiasi IP assegnato a un'interfaccia sull'host del server postgresql, mentre utilizza pg_hba.conf per controllare l'accesso a un livello più dettagliato per quali IP il server accetterà gli accessi per database e utenti specifici.