- Zainstalowałem
PostgreSQL
naEC2
komputerze i teraz chcę zmienić hasło użytkownikapostgres
- ja robię
$ sudo -u postgres psql psql (9.1.5) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd'; ALTER ROLE
- Następnie wychodzę z powłoki i próbuję zalogować się przy użyciu nowego hasła
$ psql -U postgres -W Password for user postgres: psql: FATAL: Peer authentication failed for user "postgres"
Moja PostgreSQL
wersja to
$ psql --version
psql (PostgreSQL) 9.1.5
contains support for command-line editing
Co robię źle?
Dziękuję Ci
AKTUALIZACJA
Wprowadziłem zmiany pg_hba.conf
i tak to teraz wygląda
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all peer
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Następnie ponownie uruchomiłem postgres
$ sudo /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.1 database server [ OK ]
Próbowałem zalogować się ponownie, ale nie powiodło się
$ psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
postgresql
postgresql-9.1
marzyciel
źródło
źródło
pg_hba.conf
jest skonfigurowany w taki sposób, że nie akceptuje uwierzytelniania hasłem.pg_hba.conf
Odpowiedzi:
Jak powiedział willglynn, prawdopodobnie jest to plik pg_hba.conf.
Jeśli masz następujący wiersz:
następnie zmień na:
To powinno pozwolić Ci zalogować się przy użyciu nowego hasła (zakładając, że poprawnie je podałeś) :)
źródło
peer
linia, która dotyczy połączeń lokalnych (gniazd domeny UNIX) odpostgres
użytkownika. To się nie powiedzie, chyba że daleki koniec działa jakopostgres
użytkownik systemu operacyjnego . Zobacz dokumentację pg_hba.conf dla lepszego zrozumienia.django manage.py syncdb
, nadal będę czytać opg_hba.conf
dokumentacji, o której wspominałeś, wielkie dzięki za pomoc-h localhost
Chciałem tylko dodać to oprócz zmiany
pg_hba.conf
pliku zdo
Zgodnie z przyjętą odpowiedzią jedynym sposobem, w jaki mogłem się zalogować po zrobieniu tego samego, co OP, było przekazanie
-h
flagi podczas próby zalogowania się.Mam nadzieję, że pomoże to w przyszłości. Doprowadzało mnie to do szału!
źródło
Masz to...
zmień przez to:
i zrestartuj usługę postgresql przez
ta praca dla mnie
źródło
pg_hba.conf
nie musisz ponownie uruchamiać Postgres. Wystarczy przeładować konfigurację. np.pg_ctl ... reload
lubselect pg_reload_conf()
Dla ludzi, którzy wariują po wielokrotnej zmianie hasła i próbowaniu wszystkiego, co tu wspomniano, pamiętaj o sprawdzeniu ważności ważności użytkownika. Możesz ustawić opcję „nigdy nie wygasaj” w ten sposób w psql 9.x:
źródło