Kesalahan “Peer authentication failed for user ‘postgres’” yang Anda alami adalah masalah otorisasi saat mencoba mengakses PostgreSQL. Hal ini disebabkan oleh konfigurasi otorisasi PostgreSQL yang tidak memungkinkan akses peer (melalui soket lokal) tanpa otentikasi yang benar. Untuk mengatasi masalah ini, Anda dapat mengikuti langkah-langkah berikut:
Langkah 1: Konfigurasi PostgreSQL
Pastikan anda cek versi PostgreSQL terlebih dahulu untuk melihat versi berapa yang terinstall. Lalu buka terminal dan jalankan perintah berikut untuk mengedit file konfigurasi PostgreSQL:
sudo gedit /etc/postgresql/{versi_postgresql}/main/pg_hba.conf
Gantilah {versi_postgresql} dengan versi PostgreSQL yang Anda miliki. Contohnya, jika Anda menggunakan PostgreSQL versi 14, perintahnya akan menjadi:
sudo gedit /etc/postgresql/14/main/pg_hba.conf
Di dalam file pg_hba.conf
, cari baris yang berisi local all postgres peer
atau local all postgres ident
.
Ubah baris tersebut menjadi:
local all postgres md5
Ini akan mengganti metode otentikasi dari “peer” atau “ident” menjadi “md5”, yang memerlukan kata sandi. Simpan perubahan tersebut.
Langkah 2: Atur Ulang PostgreSQL
Restart layanan PostgreSQL agar perubahan konfigurasi berlaku dengan perintah:
sudo systemctl restart postgresql
Langkah 3: Uji Koneksi Ulang
Sekarang, Anda seharusnya dapat terhubung ke PostgreSQL dengan perintah:
psql -U postgres
Saat Anda diminta, masukkan kata sandi yang telah Anda atur dalam langkah 2 di atas. Anda harus berhasil terhubung ke basis data PostgreSQL tanpa masalah autentikasi.
Dengan mengikuti langkah-langkah ini, Anda seharusnya dapat mengatasi masalah autentikasi “Peer authentication failed” saat mencoba terhubung ke PostgreSQL. Pastikan Anda menjaga keamanan kata sandi PostgreSQL Anda dengan baik.