Primeiramente, é importante entender que para a maioria das distribuições Unix, o usuário padrão do Postgres não requer nem usa uma senha para autenticação. Em vez disso, dependendo de como o Postgres foi instalado originalmente e qual versão você está usando, o método de autenticação padrão será
ident
ou peer
. ident
A autenticação usa o servidor de identificação do sistema operacional em execução na porta TCP 113 para verificar as credenciais do usuário. peer
a autenticação, por outro lado, é usada para conexões locais e verifica se o nome de usuário logado do sistema operacional corresponde ao nome de usuário do banco de dados Postgres. Faça login e conecte-se como usuário padrão
Para a maioria dos sistemas, o usuário padrão do Postgres é
postgres
e uma senha não é necessária para autenticação. Assim, para adicionar uma senha, devemos primeiro fazer o login e conectar como o postgres
do utilizador. $ sudo -u postgres psql
Se você conectou com sucesso e está visualizando o
psql
prompt, vá para Alterar a senha seção. Se você recebeu um erro informando que o banco de dados “postgres” não existe, tente se conectar ao
template1
banco de dados em vez disso e, se for bem-sucedido, continue para Alterar a senha . $ sudo -u postgres psql template1
Erro de autenticação
Se você receber um erro de autenticação ao tentar se conectar ao
psql
cliente, você pode precisar alterar o arquivo de configuração de autenticação do Postgres (pg_hfa.conf). Abra o arquivo de configuração, normalmente localizado em
/etc/postgresql/#.#/main/pg_hba.conf
, onde #.#
é a versão do Postgres que você está usando:$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
O arquivo de configuração de autenticação é uma lista de regras de autenticação. Role o arquivo até localizar a primeira linha exibindo o
postgres
user na terceira coluna (se tal linha existir). Descomente a linha, se necessário (remova o ponto e vírgula), ou caso a linha esteja totalmente ausente, adicione a seguinte linha ao topo do arquivo e salve suas alterações:local all postgres peer
Esta regra de autenticação simplesmente diz ao Postgres que para conexões locais estabelecidas com todos os bancos de dados para o usuário
postgres
, autenticar usando o peer
protocolo. Nota:Algumas versões mais antigas do Postgres preferem o método de autenticação padrão de ident, mas a maioria das instalações modernas utilizará peer conforme especificado acima. Talvez seja necessário testar ambos se os resultados forem diferentes.
Agora, com seu arquivo de configuração atualizado, repita as etapas em Fazer login e conectar-se como usuário padrão seção para tentar se conectar como o padrão
postgres
do utilizador. Uma vez bem sucedido, prossiga com a alteração da senha. Alterando a senha
Com uma conexão agora estabelecida com o Postgres no
psql
prompt, emita o ALTER USER
comando para alterar a senha do postgres
do utilizador:postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
Se for bem-sucedido, o Postgres exibirá uma confirmação de
ALTER ROLE
como visto acima. Finalmente, saia do
psql
cliente usando o \q
comando. postgres=# \q
Você acabou. O padrão
postgres
o usuário agora tem uma senha associada à conta para uso em seus outros aplicativos.