AVISO :
trust
significa exatamente isso. Qualquer pessoa que possa se conectar ao servidor PostgreSQL pode controlá-lo. Se você definir trust
modo que permite superusuários como o usuário postgres
(ou all
usuários) para se conectar, eles obtêm controle total do seu PostgreSQL e provavelmente também podem executar comandos shell. Normalmente, você deve usá-lo apenas para alterar a senha em seguida, restaure a configuração de volta ao modo de autenticação que você estava usando antes. Se você usou um script de instalação autônoma, a senha estará no script ou no arquivo de configuração associado.
Caso contrário, trate-a como se você tivesse perdido/esquecido a senha, em vez de nunca saber:
- Editar
pg_hba.conf
, definindo o modo de autenticação paratrust
em vez do padrãomd5
- No painel de controle de Serviços, reinicie o serviço PostgreSQL
- Conecte-se com
psql
ou PgAdmin ou qualquer outro ALTER USER postgres PASSWORD 'mynewpassword';
- Editar
pg_hba.conf
novamente e defina o modo de autenticação de volta paramd5
- Reinicie o PostgreSQL novamente
pg_hba.conf
está em seu diretório de dados. Por padrão, será %PROGRAMFILES%\PostgreSQL\9.3\data
. Para editá-lo, você terá que usar a guia de segurança para obter permissões de leitura/gravação (por meio de um prompt do UAC). Isso pode exigir que você se defina como o proprietário do arquivo.
Em sistemas unix é mais seguro acrescentar um
local all all peer
linha para
pg_hba.conf
e então sudo -u postgres psql
(assumindo que seu servidor PostgreSQL roda como usuário postgres
) para obter um psql
interativo sessão sem usar uma senha. Dessa forma, você não precisa usar trust
.