Eu instalei o postgres no Ubuntu e ele me mudou para o usuário postgres. Eu abri psql
um banco de dados criado e, em seguida, decidi voltar para o root. No entanto, não me permite:
sudo su -
resulta em me perguntar
[sudo] password for postgres:
que eu tentei entrar apenas para obter
Sorry, try again
Então decidi tentar alterar a senha do postgres usando esta resposta :
ALTER USER postgres WITH PASSWORD 'postgres';
Aparentemente funcionou, mas depois de tentar mudar para o root novamente, ainda não me permite.
Parece que você está confundindo duas coisas:
postgres
o usuário do sistemapostgres
o usuário do banco de dados SQLA única relação entre ambos é que na instalação do PostgreSQL, o usuário do banco
postgres
de dados é autenticado com o método de autenticação peer : o servidor de banco de dados verifica se o usuário do sistema que solicita acesso ao banco de dados como usuário do banco de dadospostgres
também é chamadopostgres
. Além disso, o próprio servidor de banco de dados é executado como usuário do sistemapostgres
.Não é possível a partir do banco de dados alterar o sistema. Fornecer uma senha na conta do banco de dados não alterará o fato de que o usuário do sistema
postgres
não tem direitos sudo e, certamente, uma senha desabilitada, permitindo que apenas o root a use por padrão (mas não o contrário).Portanto, se você deseja se tornar
root
, não pode fazer isso a partir dapostgres
conta do sistema, e isso é uma coisa boa: se o servidor de banco de dados (seus processos também executando como usuário do sistemapostgres
) for comprometido, não haverá como escalar pararoot
acesso de isto.Basta fazer login novamente na conta que você usou para instalar o postgreSQL: diretamente a
root
conta (geralmente não feita no Ubuntu) ou (geralmente feita no Ubuntu) o usuário configurado na instalação do sistema, com uid 1000, que no Ubuntu é permitido por padrão fazersudo su -
.Se você quiser sair do usuário postgres, basta digitar "exit".
Ele vai voltar para o usuário root