Por algum motivo, depois de instalar o PostgreSQL, você pode esquecer a senha do usuário postgres. Nesse caso, você precisa saber como redefinir a senha.
O PostgreSQL usa o arquivo de configuração pg_hba.conf armazenado no diretório de dados do banco de dados (por exemplo, C:\Program Files\PostgreSQL\12\data no Windows) para controlar a autenticação do cliente. O hba em pg_hba.conf significa autenticação baseada em host. Para redefinir a senha do usuário postgres, você precisa modificar alguns parâmetros neste arquivo de configuração, fazer login como postgres sem senha e redefinir a senha.
Passo a Passo para Resetar a Senha do Usuário postgres
As etapas a seguir mostram como redefinir uma senha para o usuário postgres. Aqui irei usar Linux:
#1 Faça backup do arquivo pg_hba.conf copiando-o para um local diferente ou apenas renomeie-o para pg_hba.conf.bkp
No meu pc Linux, o pg_hba.conf fica em /var/lib/pgsql/12/data/
# cp /var/lib/pgsql/12/data/pg_hba.conf /var/lib/pgsql/12/data/pg_hba.conf.bkp
#2 Edite o arquivo pg_dba.conf e altere todas as conexões locais de md5 para confiança. Ao fazer isso, você pode efetuar login no servidor de banco de dados PostgreSQL sem usar uma senha
# TYPE DATABASE USER ADDRESS METHOD # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust # Allow replication connections from localhost, by a user with the # replication privilege. host replication all 127.0.0.1/32 trust host replication all ::1/128 trust
#3 Reinicie o servidor PostgreSQL. Se você estiver no Windows, poderá reiniciar o PostgreSQL em Serviços ou com o comando pg_ctl -D “C:\Program Files\PostgreSQL\12\data” restart. O “C:\Program Files\PostgreSQL\12\data” é o diretório de dados no Windows.
#4 Conecte-se ao servidor de banco de dados PostgreSQL usando qualquer ferramenta como psql ou pgAdmin:
psql -U postgres
O PostgreSQL não exigirá uma senha para fazer login.
#5 Execute o seguinte comando para definir uma nova senha para o usuário postgres.
ALTER USER postgres WITH PASSWORD 'nova_senha';
#6 Restaure o arquivo pg_dba.conf, reinicie o servidor de banco de dados PostgreSQL e conecte-se ao servidor de banco de dados PostgreSQL com a nova senha