O que você quer não é possível com o esquema de autenticação atual do PostgreSQL. Quando a peer de autenticação falhar, o PostgreSQL não passará para a próxima entrada em pg_hba.conf . Somente a primeira entrada é usada e, se falhar, a conexão será rejeitada. O modo peer não oferece a opção de recuperar a autenticação de senha se o ID do usuário não corresponder.
Então você não pode fazer isso. Desculpa. O mais próximo que você pode chegar é usar as conexões local (soquete unix) com peer auth e exigir que outros clientes se conectem por soquetes TCP / IP ( host ) com md5 auth. Usar um protocolo diferente permite escolher um método de autenticação diferente para cada um.
Eu propus recentemente uma mudança no comportamento de autenticação em pgsql-hackers que pode permitir o que você quer em uma versão posterior, se eu puder convencer as pessoas de que é uma boa idéia. Basicamente, o modo peer tomaria uma opção md5_fallback que permitiria solicitar uma senha do cliente se ela falhasse a peer autenticação.