sql >> Databasteknik >  >> RDS >> PostgreSQL

Glömt administratörslösenordet på Postgres (Windows-installation), kan inte återställa

Baserat på AK47:s svar och lite ytterligare information fixade jag det genom att göra följande,

1) Stoppa Postgres om den körs för närvarande, kommandoraden nedan. Behöver ge den "data" dir. I mitt fall C:\PostgreSQL\data

pg_ctl -D C:\PostgreSQL\data stop

2) Redigera filen pg_hba.conf (det finns också i \data dir) enligt följande:

Som AK40 skrev, cändra alla MD5-referenser till trust , t.ex.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

3) Kör nu

psql -U postgres

4) I PG-kommandotolken som visas skriv,

ALTER USER Postgres WITH PASSWORD '<newpassword>';

5) Spara detta genom att skriva wq enter för att avsluta PG-prompten

6) Starta nu Postgres

pg_ctl -D C:\PostgreSQL\data start

7) Kanske vill återställa MD5 -> Trust ändra senare i pg_hba.conf .



  1. Infogar NULL/tom sträng med libpqxx-biblioteket

  2. Läser klump variabel rad för rad

  3. cakephp använder komponenter som kontrollermetoder

  4. Postgresql escape enda citat i where-klausul