Saya telah menginstal PostgreSQL 9.1 dan pgadmin3 di Ubuntu Server 13.10.
Saya mengkonfigurasi postgresql.conf dengan: listen_addresses = '*'
Saya juga mengkonfigurasi ph_hba.conf dengan mengubah koneksi peer ke md5
Ditambah lagi, saya mengatur ulang kata sandi postgres dengan: sudo password postgres
kemudian memulai kembali layanan dengan sudo /etc/init.d/postgresql restart
setelah itu saya mencoba untuk terhubung ke database templat PostgreSQL default:
sudo -u postgres psql template1
tetapi login gagal dengan pesan kesalahan ini:
psql: FATAL: password authentication failed for user "postgres"
kemudian saya mencoba masuk dari pgadmin, yang memberi saya kesalahan yang sama.
Saya sudah baca di sini bahwa mungkin tanggal kadaluwarsa kata sandi bug Pengguna PostgreSQL tidak dapat terhubung ke server setelah mengubah kata sandi
tapi saya tidak bisa menyelesaikannya karena saya tidak bisa masuk dengan psql. Adakah yang sekarang tahu bagaimana mengatasi masalah ini?
EDIT
file ph_hba:
Tangkapan layar:
sumber
Jawaban:
Anda membingungkan kata sandi untuk "postgres" pengguna unix dengan kata sandi database untuk "postgres" pengguna basis data. Ini tidak sama.
Anda telah mengunci diri, karena Anda mengaktifkan
md5
otentikasi untuk pengguna basis datapostgres
tanpa menetapkan kata sandi untuk pengguna basis datapostgres
.Tambahkan baris baru ke atas
pg_hba.conf
:kemudian restart / muat ulang PostgreSQL dan:
Dari prompt yang dihasilkan:
kemudian hapus baris yang Anda tambahkan ke
pg_hba.conf
dan restart Pg lagi. Anda sekarang dapat menggunakan kata sandi yang Anda atur di atas untuk terhubung ke PostgreSQL sebagaipostgres
pengguna.Untuk mempelajari lebih lanjut, baca bab "otentikasi klien" pada buku petunjuk dan dokumen yang ada di
pg_hba.conf
.sumber
psql -W postgresql://postgres:postgres@localhost
memproduksi lagi yang sama "FATAL: otentikasi kata sandi gagal untuk 'postgres' pengguna"pg_hba.conf
file milik pengguna sistempostgres
. Saya hanya tahu kata sandi basis data pengguna basis datapostgres
, Jadi pertanyaannya adalah bagaimana cara mengedit file conf ini tanpa mengubah kepemilikannya?local postgres postgres peer
benar-benar diperlukanpg_hba.conf
? Semuanya berfungsi dengan baik tanpa ituCobalah untuk memodifikasi kata sandi templat basis data1 menggunakan ini:
sumber
di pg_hba.conf Anda
jika tidak berhasil maka coba dengan
kemudian restart basis data Anda itu akan berfungsi dengan baik .. jika Anda percaya maka tidak perlu kata sandi jika Anda membuat MD5 maka akan meminta kata sandi ...
sumber