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.