Eu encontrei o problema.
O arquivo / etc / hosts tinha permissões excessivamente restritivas -rw ------ (acredito que seja 600 octal). Mudar isso para o modo 644 resolveu o problema.
Meus testes com o ping foram feitos com o privil ordinário, e o arquivo hosts estava ilegível. Meu problema original foi obter o postgresql para inicialização corretamente; ele começa com privilégios de root, mas aparentemente lança priv antes de iniciar seus processos filhos para autovacuum e tal, então, no momento em que precisou de um domínio resolvido, ele não pôde ler o arquivo de hosts.
Obrigado a todos que responderam. Tem sido esclarecedor.