quinta-feira, 16 de julho de 2015

ALTERANDO OU RECUPERANDO A SENHA DO USUÁRIO POSTGRES (POSTGRESQL/POSTGIS) NO WINDOWS

Em algumas situações (restore por SQL, dependendo da maneira como ele foi gerado, por exemplo) a senha do usuário postgres do PostgreSQL pode ser alterada. Se ocorreu essa situação, ou se por algum outro motivo você esqueceu ou perdeu a senha, pode seguir os passos abaixo para recuperá-la:
  1. Abra o arquivo pg_hba.conf (o arquivo que contém, entre outras, as configurações de acesso do PostgreSQL e pode ser aberto no bloco de notas ou no próprio PGAdmin. Ele se encontra na pasta data);
  2. No final do arquivo, substitua a palavra md5 por trust (em METHOD, nas linhas que não estão comentadas. Isso permitirá o acesso sem o uso de senha);
  3. No Windows, vá em "Serviços", encontre o postgresql, selecione e clique em Reiniciar o serviço.
  4. No prompt de comando do Windows, vá até a pasta bin, dentro da instalação do PostgreSQL (por exemplo: C:\Program Files\PostgreSQL\9.4\bin) e execute o comando: psql -h localhost -U postgres -W -d postgres (esse último pode ser o nome de qualquer banco de dados existente) e tecle enter. Se pedir a senha tecle enter.
  5. Conectado no psql execute o comando ALTER USER postgres ENCRYPTED PASSWORD 'senha'; (substituindo 'senha' pela senha que você deseja).
  6. Saia do prompt, retorne aos serviços e reinicie novamente o serviço do postgresql. Lembre-se de alterar novamente o arquivo pg_hba.conf para que o usuário postgres não possa ser acessado sem senha.
Observação: em substituição às etapas 3, 4 e 5, você também pode se logar pelo pgAdmin e executar a instrução ALTER USER postgres ENCRYPTED PASSWORD 'senha'; (substituindo 'senha' pela senha que você deseja) na janela de SQL e executá-la.

Pronto, você já pode acessar o PostgreSQL pelo usuário postgres usando a nova senha.

6 comentários:

  1. Boa Tarde.
    O meu está dando erro, "ALTER não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes". O que pode ser?

    ResponderExcluir
    Respostas
    1. Boa tarde. O conteúdo da postagem foi atualizado, resolvendo o problema.

      Excluir
  2. Respostas
    1. Esse problema ocorre quando se tenta usar o comando (ALTER) diretamente no prompt. É preciso estar conectado no psql para executar a instrução (passo 4).

      Excluir