Considere a primeira regra no pg_hba.conf
:
local all all peer
Isso significa que, para todas as conexões locais, o usuário Unix deve ser o mesmo que o usuário db. Obviamente, este não é o caso para você php code, daí a falha Peer autenticação falhou para o usuário ... .
A segunda regra permite que seu script seja conectado, mas é ignorado porque a primeira regra tem precedência:
local all all trust
Esta regra significa que todas as conexões locais são permitidas sem exigir senha e sem verificar qualquer identidade.
Se estiver tudo bem com você, basta excluir a primeira regra e recarregar o serviço postgresql para que a alteração entre em vigor.
As outras regras não devem ser relevantes para o problema, pois estão relacionadas a conexões TCP e, de acordo com a mensagem de erro, não é o método usado pelo seu script que está tentando se conectar através do soquete padrão do domínio Unix.