O "recentemente parou de funcionar" indica que houve uma mudança recentemente. Você aplicou recentemente uma atualização Perl DBI ou PostgreSQL que coincide com a mudança de comportamento? Em caso afirmativo, informações sobre quais versões você moveu entre seriam úteis.
É possível que o seu intérprete perl seja SUID "anotheruser"?
O que perl -e 'imprime "Real: $ < Efetivo: $ > \ n";' saída ?
A autenticação é bastante flexível no PostgreSQL. Você fez personalizações no seu arquivo pg_hba.conf? Existe algum mapeamento de usuário no arquivo pg_ident.conf?
É possível que haja alguma variável de ambiente definida no seu shell (por exemplo, PGUSER) ou no seu arquivo ~ / .psqlrc?
Para garantir um comportamento determinístico, recomendo que, quando você se conectar ao banco de dados usando o DBI, especifique o nome de usuário que deve ser usado no DSN
por exemplo,
$dbh = DBI->connect ( "dbi:Pg:dbname=one","someuser","" ) ;