PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como definir a senha de usuário padrão no PostgreSQL


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.