Acabei de instalar o postgres 8.4 no Ubuntu 9.10 e nunca me pediu para criar um superusuário. Existe um superusuário padrão e sua senha? Se não, como faço para criar um novo?
Acabei de instalar o postgres 8.4 no Ubuntu 9.10 e nunca me pediu para criar um superusuário. Existe um superusuário padrão e sua senha? Se não, como faço para criar um novo?
CUIDADO A resposta sobre como alterar a senha do UNIX para "postgres" através de "$ sudo passwd postgres" não é a preferida e pode até ser PERIGOSA !
É por isso que: Por padrão, a conta UNIX "postgres" está bloqueada, o que significa que não pode ser logado usando uma senha. Se você usar "sudo passwd postgres", a conta será desbloqueada imediatamente. Pior, se você definir a senha para algo fraco, como "postgres", estará exposto a um grande perigo de segurança. Por exemplo, existem vários bots por aí tentando a combinação de nome de usuário/senha "postgres/postgres" para fazer login no seu sistema UNIX.
O que você deve fazer é seguir a resposta de Chris James :
Para explicar um pouco. Geralmente, existem duas maneiras padrão de fazer login no servidor PostgreSQL:
Ao executar o comando "psql" como um usuário UNIX (autenticação IDENT/PEER), por exemplo:
sudo -u postgres psql
. Observe quesudo -u
NÃO desbloqueia o usuário UNIX.por conexão TCP/IP usando o nome de usuário/senha gerenciado do PostgreSQL (chamado autenticação TCP) (ou seja, NÃO a senha do UNIX).
Portanto, você nunca deseja definir a senha para a conta UNIX "postgres". Deixe-o bloqueado como está por padrão.
Claro que as coisas podem mudar se você configurá-lo de forma diferente da configuração padrão. Por exemplo, pode-se sincronizar a senha do PostgreSQL com a senha do UNIX e permitir apenas logins locais. Isso estaria além do escopo desta questão.
Digite na linha de comando:
Você vai ver:
Você manipula postgres através do user
postgres
, assim:No Windows, faça o seguinte (IMPORTANTE: Use uma conta de administrador do Windows ):
Após a instalação, abra
<PostgreSQL PATH>\data\pg_hba.conf
.Modifique estas duas linhas e altere "md5" para "trust":
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
Reinicie o serviço PostgreSQL (pode não ser necessário).
(Opcional) Abra um prompt de comando e altere a página de código para 1252:
cmd.exe /c chcp 1252
Faça login no PostgreSQL. Não será necessária senha (observe o parâmetro -U maiúsculo):
psql -U postgres
(Opcional, recomendado por motivos de segurança) Altere a
postgres
senha do usuário:\password postgres
e altere "trust" de volta para "md5" em
pg_hba.conf
.Se você estiver tentando acessar o shell do PostgreSQL, digite:
psql -U postgres my_database
Onde
my_database
está o nome do seu banco de dados.