Saya telah bertemu ini dengan 4 peran yang saya buat:
Setelah mengubah kata sandi untuk pengguna di pgAdmin III menggunakan GUI (1), pengguna itu tidak dapat login lagi.
pgAdmin III tampilkan pesan kesalahan:
An error has occurred:
Error connecting to the server: FATAL: password authentication failed for user "sam"
FATAL: password authentication failed for user "sam"
Sistem saya: Postgresql 9.2 di Ubuntu 12.04
Apakah ada cara untuk memperbaikinya?
(1): masuk dengan postgres akun, klik kanan pengguna di Peran Masuk, buka tab 'Definisi' dan masukkan kata sandi
sumber
trust
ataupeer
dalampg_hba.conf
file untuk akun ini.Hal sederhana yang harus dilakukan adalah masuk dengan psql atau pgAdmin dan
Sekarang, jika Anda tidak dapat masuk dengan akun superuser, Anda dapat memulihkan dengan mengubah pengaturan pg_hba.conf untuk pengguna ini dan memuat ulang konfigurasi (kadang-kadang saya menemukan ini memerlukan restart server, tetapi saya tidak yakin mengapa).
Yang dapat Anda lakukan adalah menambahkan baris yang memungkinkan Anda untuk masuk menggunakan metode ident (peer in 9.2) (jika Anda dapat menggunakan akun sistem lokal dengan nama yang sama dengan pengguna) untuk koneksi lokal untuk pengguna, atau (jika itu tidak mungkin) atur ke "trust" (sangat sementara!). Jika menggunakan kepercayaan, kembalilah sesegera mungkin, karena ini berarti "percaya bahwa pengguna adalah yang dia klaim!" dan akibatnya pengaturan ini berbahaya untuk dibiarkan diaktifkan di luar kebutuhan pemulihan segera.
Setelah masuk, Anda dapat mengatur ulang kata sandi di atas.
sumber
Untuk varian Windows - Saya juga mengalami bug jahat ini karena pgAdmin untuk instal Windows x64 versi 9.2. Itu membuat produksi saya lumpuh.
Di folder
C:\Program Files\PostgreSQL\9.2\data
atauC:\Program Files (x86)\PostgreSQL\9.**x**\data
, Anda akan menemukan file teks pg_hba.conf .Temukan baris berikut:
dan ubah METHOD md5 menjadi "trust" seperti ini:
Dari
Windows>Run
jenis "services.msc" dan [enter] temukan instance PostgreSQL yang tepat dan mulai ulang.Keamanan DB Anda sekarang terbuka lebar! Perhatikan peringatan untuk mengembalikannya kembali ke md5 setelah mengubah kata sandi kadaluwarsa untuk mengatakan tahun 2099 untuk semua pengguna yang relevan.
sumber
Jika Anda belum mencoba ini, tinjau file pg_hba.conf Anda. Ini akan dinamai sesuatu seperti /var/lib/pgsql/9.3/data/pg_hba.conf (Fedora 20); Anda mungkin harus menggunakan 'find / -name pg_hba.conf' untuk menemukannya.
Di bagian bawah file, ubah nilai 'METHOD' menjadi 'trust' untuk pengujian lokal (lihat dokumen postgres untuk informasi lengkap). Nyalakan ulang mesin untuk memastikan semuanya mulai bersih dan params baru dibaca.
Semoga ini akan menyembuhkan kesengsaraan Anda. Ini memecahkan masalah saya pada Fedora 20 dengan PostgreSQL 9.3.
UPDATE 2016-10-14:
Di Ubuntu, nama file yang dibutuhkan adalah
/etc/postgresql/9.5/main/pg_hba.conf
. Hanya untuk pengujian lokal , modifikasi agar terlihat seperti ini:Dua baris dengan METODE "kepercayaan" adalah baru. Mereka memungkinkan Anda untuk terhubung tanpa nama pengguna / kata sandi.
Setelah selesai, Anda harus me-restart server melalui:
sumber
pg_hba.conf
berlaku, Anda hanya perlu memuat ulang, bukan memulai ulang. Selain itu, saran Anda terlihat tidak lengkap karena tidak jelas bagaimana akhirnya akan menyelesaikan masalah.Saya baru saja mengalami masalah yang sama dan ternyata saya memiliki banyak pengguna dengan nama yang sama (kasus yang berbeda). Setelah saya menggabungkan kepemilikan dan menghapus satu, itu setidaknya jelas. Bergantung pada metode koneksi, kasing tidak perlu ditransfer untuk otentikasi.
sumber