- Saya menginstal
PostgreSQL
padaEC2
mesin dan sekarang saya ingin mengubah kata sandi penggunapostgres
- Saya lakukan
$ sudo -u postgres psql psql (9.1.5) Type "help" for help. postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd'; ALTER ROLE
- Kemudian saya keluar dari shell dan mencoba masuk dengan kata sandi baru
$ psql -U postgres -W Password for user postgres: psql: FATAL: Peer authentication failed for user "postgres"
PostgreSQL
Versi saya adalah
$ psql --version
psql (PostgreSQL) 9.1.5
contains support for command-line editing
Apa yang saya lakukan salah?
Terima kasih
PEMBARUAN
Saya membuat perubahan pg_hba.conf
dan beginilah tampilannya sekarang
# 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
Kemudian saya memulai kembali postgres
$ sudo /etc/init.d/postgresql restart
* Restarting PostgreSQL 9.1 database server [ OK ]
Saya mencoba masuk lagi, tetapi gagal
$ psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
postgresql
postgresql-9.1
pelamun
sumber
sumber
pg_hba.conf
ini diatur sedemikian rupa sehingga tidak menerima otentikasi kata sandi.pg_hba.conf
Jawaban:
Seperti yang dikatakan willglynn, ini mungkin file pg_hba.conf Anda.
Jika Anda memiliki baris berikut:
lalu ubah ke:
Itu akan membuat Anda masuk dengan kata sandi baru Anda (dengan asumsi Anda memasukkannya dengan benar) :)
sumber
peer
garis yang berlaku untuk koneksi lokal (soket domain UNIX) daripostgres
pengguna. Itu akan gagal kecuali ujung yang jauh berjalan sebagaipostgres
pengguna OS . Lihat dokumentasi pg_hba.conf untuk pemahaman yang lebih baik.django manage.py syncdb
, saya masih akan membaca tentangpg_hba.conf
dokumentasi yang Anda sebutkan, terima kasih banyak atas bantuan Anda-h localhost
Saya hanya ingin menambahkan itu selain mengubah
pg_hba.conf
file dariuntuk
Sesuai jawaban yang diterima, satu-satunya cara saya bisa masuk setelah melakukan hal yang sama OP lakukan adalah untuk melewati
-h
bendera ketika mencoba masuk.Semoga ini akan membantu seseorang di masa depan. Itu membuatku gila!
sumber
Kamu punya ini...
ubah dengan ini:
dan restart layanan postgresql dengan
ini bekerja untuk saya
sumber
pg_hba.conf
Anda tidak perlu me-restart Postgres. Memuat ulang konfigurasi sudah cukup. misalnyapg_ctl ... reload
atauselect pg_reload_conf()
Untuk orang-orang, yang menjadi gila setelah mengganti kata sandi berkali-kali dan mencoba semua yang disebutkan di sini, ingatlah untuk memeriksa masa berlaku validitas pengguna. Anda dapat mengaturnya ke 'tidak pernah kedaluwarsa' seperti itu di psql 9.x:
sumber