Sua conexão falhou porque, por padrão, se psqlconecta por soquetes UNIX usando peerautenticação, o que exige que o usuário UNIX atual tenha o mesmo nome de usuário psql. Portanto, você terá que criar o usuário UNIX deve, em seguida, efetuar login como devou usar sudo -u dev psql test_developmentpara acessar o banco de dados (e nãopsql deve solicitar uma senha).
Se você não pode ou não deseja criar o usuário UNIX, como se você deseja apenas conectar-se ao seu banco de dados para consultas ad hoc , forçar uma conexão de soquete usando psql --host=localhost --dbname=test_development --username=dev(conforme indicado pela resposta do @meyerson) resolverá o seu problema imediato.
Mas se você pretende forçar a autenticação de senha nos soquetes Unix em vez do método de mesmo nível, tente alterar a seguinte pg_hba.conflinha *:
de
# TYPE DATABASE USER ADDRESS METHOD
local all all peer
para
# TYPE DATABASE USER ADDRESS METHOD
local all all md5
peersignifica que confiará na identidade (autenticidade) do usuário UNIX. Portanto, não solicitando uma senha.
md5significa que sempre solicitará uma senha e a validará após fazer o hash com MD5.
Obviamente, você também pode criar regras mais específicas para um banco de dados ou usuário específico, com alguns usuários tendo peere outros exigindo senhas.
Depois de mudar pg_hba.conf se o PostgreSQL está em execução, você precisará reler a configuração recarregando ( pg_ctl reload) ou reiniciando ( sudo service postgresql restart).
* O arquivo pg_hba.conf provavelmente estará em/etc/postgresql/9.x/main/pg_hba.conf
Editado: Comentários de @Chloe, @JavierEH, @Jonas Eicher, @fccoelho, @Joanis, @Uphill_What comentários incorporados na resposta.