.pgpass arquivo não define o nome de usuário padrão para se conectar como

1

(Debian 8)

Meu arquivo .pgpass está na minha pasta pessoal (admin)

Eu e usando o formato certo, conforme indicado na documentação

hostname:port:database:username:password

Os mesmos campos que coloquei funcionam bem quando colocados explicitamente na linha de comando psql . (claro que tenho que digitar a senha manualmente).

No entanto, a execução do psql por si só gera um erro:

psql: FATAL: role "admin" does not exist

Observe que meu nome de usuário postgres NÃO é "admin", que é meu nome de usuário debian.

O que estou fazendo de errado? meu objetivo é obter acesso a psql sem ter que usar uma linha de comando elaborada, incluindo host / port / username / database

    
por JasonGenX 26.06.2015 / 18:45

1 resposta

4

psql usa como padrão o seu nome de usuário unix atual, a menos que você especifique algo diferente.

Se você quiser um padrão diferente, pode definir a variável de ambiente PGUSER .

Veja o link

.pgpass é o que psql procura para descobrir a senha de um determinado host, nome de usuário, porta, etc. Ele não especifica qual conexão usar, apenas a senha a ser usada para uma determinada conexão.

Você pode usar env vars, um arquivo sevice e / ou aliases de shell para especificar os padrões de conexão.

    
por 26.06.2015 / 20:55