Ik heb PostgreSQL 8.4, Postgres client en Pgadmin 3 geïnstalleerd. Authenticatie mislukt voor gebruiker "postgres" voor zowel console client en Pgadmin. Ik heb gebruiker getypt als "postgres" en wachtwoord "postgres", omdat het eerder werkte. Maar nu is de authenticatie mislukt. Ik heb het een paar keer eerder gedaan zonder dit probleem. Wat moet ik doen? En wat gebeurt er?
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"
Als ik het me goed herinner heeft de gebruiker postgres
standaard geen DB wachtwoord ingesteld op Ubuntu. Dat betekent, dat je alleen op die account kunt inloggen door de postgres
OS user account te gebruiken.
Ervan uitgaande, dat u root
toegang heeft op de box kunt u doen:
sudo -u postgres psql
Als dat niet lukt met een database "postgres" does not exists
foutmelding, dan zit je waarschijnlijk niet op een Ubuntu of Debian server :-) In dit geval voegt u gewoon template1
toe aan het commando:
sudo -u postgres psql template1
Als een van deze commando's faalt met de foutmelding psql: FATAL: wachtwoord authenticatie mislukt voor gebruiker "postgres"
controleer dan het bestand /etc/postgresql/8.4/main/pg_hba.conf
: Er moet een regel als deze zijn als de eerste regel zonder commentaar:
local all postgres ident
Voor nieuwere versies van PostgreSQL zou ident
eigenlijk peer
kunnen zijn. Dat's ook OK.
In de psql
shell kun je de DB user postgres
een wachtwoord geven:
ALTER USER postgres PASSWORD 'newPassword';
Je kunt de psql
shell verlaten door CtrlD te typen of met het commando qq
.
Nu zou u in staat moeten zijn om pgAdmin een geldig wachtwoord te geven voor de DB superuser en het zal ook blij zijn :-)
Het antwoord van het personeel is correct, maar als u verder wilt automatiseren kan dat:
$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
Doen we! U hebt User = postgres en password = postgres. opgeslagen
Als u niet beschikt over een wachtwoord voor de gebruiker postgres ubuntu doen:
$ sudo passwd postgres
Probeer om de -W parameter niet te gebruiken en laat het wachtwoord leeg. Soms wordt de gebruiker aangemaakt zonder wachtwoord.
Als dat niet werkt'reset het wachtwoord. Er zijn verschillende manieren om het te doen, maar dit werkt op veel systemen:
$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';