Jeg har installert PostgreSQL 8.4, Postgres-klient og Pgadmin 3. Autentisering mislyktes for brukeren "postgres" for både konsollklienten og Pgadmin. Jeg har skrevet bruker som "postgres" og passord "postgres", fordi det fungerte før. Men nå mislyktes autentiseringen. Jeg gjorde det før et par ganger uten dette problemet. Hva skal jeg gjøre? Og hva skjer?
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"
Hvis jeg husker riktig, har brukeren postgres
ikke noe DB passord angitt på Ubuntu som standard. Det betyr at du bare kan logge inn på den kontoen ved å bruke postgres
OS-bruker-kontoen.
Forutsatt, at du har root
tilgang på boksen du kan gjøre:
sudo -u postgres psql
Hvis det mislykkes med en database " postgres " eksisterer ikke
feil, så er du sannsynligvis ikke på en Ubuntu- eller Debian-server :-) I dette tilfellet legger du bare til template1
til kommandoen:
sudo -u postgres psql template1
Hvis noen av disse kommandoene mislykkes med en feil psql: FATAL: password authentication failed for user "postgres"
så sjekk filen /etc/postgresql/8.4/main/pg_hba.conf
: Det må være en linje som dette som den første ikke-kommentarlinjen:
local all postgres ident
For nyere versjoner av PostgreSQL kan ident
faktisk være peer
. Det er også OK.
Inne i psql
-skallet kan du gi __DB-brukeren postgres
et passord:
ALTER USER postgres PASSWORD 'newPassword';
Du kan forlate psql
-skallet ved å skrive CtrlD eller med kommandoen \q
.
Nå bør du være i stand til å gi pgAdmin et gyldig passord for DB-superbrukeren, og det vil også være lykkelig :-)
Svaret fra personalet er riktig, men hvis du vil automatisere ytterligere, kan du gjøre det:
'$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres ';"` `
Ferdig! Du har lagret bruker = postgres og passord = postgres..
Hvis du ikke har et passord for brukeren postgres ubuntu gjøre:
'$ sudo passwd postgres'
Prøv å ikke bruke -W-parameteren og la passordet stå tomt. Noen ganger opprettes brukeren uten passord.
Hvis det ikke fungerer, tilbakestill passordet. Det er flere måter å gjøre det på, men dette fungerer på mange systemer:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';