Katakan Anda melihat pesan ini:
FATAL: Ident authentication failed for user "..."
Apa penyebab dari pesan kesalahan ini?
Katakan Anda melihat pesan ini:
FATAL: Ident authentication failed for user "..."
Apa penyebab dari pesan kesalahan ini?
Jawaban:
Ini berarti Postgres berusaha untuk mengotentikasi pengguna menggunakan protokol Ident, dan tidak bisa. Ident auth berfungsi seperti ini:
pg_hba.conf
File Anda (dalam /etc/postgres-something/main
) mendefinisikan 'Ident' sebagai protokol untuk terhubung ke database db
untuk pengguna yang terhubung dari host tertentuKemungkinan penyebab dan solusi:
sudo apt-get install oidentd
).CREATE ROLE foo
. Atau tambahkan entri ke /etc/postgresql/.../main/pg_ident.conf
.Mungkin Anda sebenarnya ingin terhubung dengan kata sandi , bukan Ident. Edit pg_hba.conf
file dengan tepat. Misalnya, ubah:
host all all 127.0.0.1/32 ident
untuk
host all all 127.0.0.1/32 md5
Tidak yakin tentang penyebab, tapi ini tetap untukku:
di pg_hba.conf
ubah ke ini:
tuan semua semua 127.0.0.1/32 md5
Kesalahan tepat: Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
Pada CentOS, tambahkan baris berikut ke /var/lib/pgsql/9.3/data/pg_hba.conf
:
host all all 127.0.0.1/32 trust
Dan mengomentari entri lainnya.
Tentu saja, pengaturan ini tidak aman, tetapi jika Anda hanya mengacaukan pada pengembangan VM seperti saya maka itu mungkin baik-baik saja ...
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.
pg_ctl reload
dari konsol, atau SELECT pg_reload_conf();
saat mengeksekusi SQL sebagai pengguna istimewa.
/var/lib/psql/data