Ho installato PostgreSQL 8.4, Postgres client e Pgadmin 3. L'autenticazione non è riuscita per l'utente "postgres" sia per la console client che per Pgadmin. Ho digitato utente come "postgres" e password "postgres", perché prima funzionava. Ma ora l'autenticazione è fallita. L'ho fatto prima un paio di volte senza questo problema. Cosa dovrei fare? E cosa succede?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
Se ricordo bene l'utente postgres
non ha una password DB impostata di default su Ubuntu. Ciò significa che è possibile accedere a quell'account solo utilizzando l'account OS user di postgres
.
Supponendo che abbiate l'accesso root
sulla scatola, potete fare:
sudo -u postgres psql
Se questo fallisce con un errore database "postgres" does not exists
, allora molto probabilmente non siete su un server Ubuntu o Debian :-) In questo caso aggiungete semplicemente template1
al comando:
sudo -u postgres psql template1
Se uno di questi comandi fallisce con un errore psql: FATAL: password authentication failed for user "postgres"
allora controllate il file /etc/postgresql/8.4/main/pg_hba.conf
: Ci deve essere una linea come questa come prima linea non commentata:
local all postgres ident
Per le versioni più recenti di PostgreSQL ident
in realtà potrebbe essere peer
. Anche questo va bene.
All'interno della shell psql
si può dare una password al DB user postgres
:
ALTER USER postgres PASSWORD 'newPassword';
Puoi lasciare la shell psql
digitando CtrlD o con il comando \q
.
Ora dovresti essere in grado di dare a pgAdmin una password valida per il superutente del DB e anche lui sarà felice. :-)
La risposta del personale è corretta, ma se si desidera automatizzare ulteriormente può fare:
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
Fatto! Hai salvato User = postgres e password = postgres.
Se non si dispone di una password per l'utente postgres ubuntu fare:
$ sudo passwd postgres
.
Prova a non usare il parametro -W e lascia la password in bianco. A volte l'utente viene creato senza password.
Se questo non funziona resettate la password. Ci sono diversi modi per farlo, ma questo funziona su molti sistemi:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';