Solusi untuk Error “failed: FATAL: Peer authentication failed for user "postgres" (Ubuntu)”
Gambaran Umum Error
Error “failed: FATAL: Peer authentication failed for user "postgres" (Ubuntu)” sering kali muncul ketika Anda mencoba untuk mengakses database PostgreSQL dengan pengguna “postgres”. Masalah ini disebabkan oleh metode otentikasi yang digunakan oleh PostgreSQL yang secara default mengharuskan pengguna untuk terhubung melalui metode peer, yang membatasi akses hanya kepada pengguna yang sama dengan nama pengguna sistem operasi. Jika Anda tidak menggunakan nama pengguna yang benar, maka Anda akan mengalami error ini.
Penyebab Umum
Ada beberapa penyebab yang umum untuk error ini, antara lain:
- Pengguna sistem tidak sama dengan nama pengguna PostgreSQL.
- Konfigurasi PostgreSQL yang salah pada file
pg_hba.conf. - PostgreSQL tidak berjalan atau tidak terinstal dengan benar.
- Masalah pada izin akses file atau folder yang diperlukan.
Metode Solusi
Ada beberapa metode yang dapat Anda lakukan untuk mengatasi masalah ini.
Metode 1: Mengubah Metode Otentikasi di pg_hba.conf
Salah satu solusi paling umum adalah dengan mengubah metode otentikasi di file konfigurasi PostgreSQL.
-
Buka terminal dan akses file konfigurasi PostgreSQL dengan perintah berikut:
bash
sudo nano /etc/postgresql/[versi]/main/pg_hba.conf
Gantilah[versi]dengan versi PostgreSQL Anda, misalnya12,13, atau14. -
Temukan baris yang mengandung
peerdi bagian yang relevan. Baris ini biasanya terlihat seperti berikut:
local all postgres peer -
Ubah
peermenjadimd5sehingga menjadi:
local all postgres md5 - Simpan file dan keluar dari editor.
-
Restart PostgreSQL agar perubahan dapat diterapkan:
bash
sudo systemctl restart postgresql - Coba lagi untuk mengakses PostgreSQL menggunakan pengguna “postgres”.
Metode 2: Menggunakan Pengguna Sistem yang Sama
Jika Anda ingin menggunakan metode peer, pastikan Anda menggunakan pengguna yang sama dengan pengguna PostgreSQL.
-
Cek pengguna sistem Anda dengan perintah:
bash
whoami -
Jika nama pengguna tidak sama dengan “postgres”, Anda dapat beralih ke pengguna “postgres” dengan perintah:
bash
sudo -i -u postgres -
Setelah itu, coba akses PostgreSQL:
bash
psql
Metode 3: Memastikan PostgreSQL Berjalan
Pastikan bahwa layanan PostgreSQL sedang berjalan. Jika tidak, Anda perlu memulainya.
-
Periksa status PostgreSQL dengan perintah:
bash
sudo systemctl status postgresql -
Jika PostgreSQL tidak berjalan, Anda bisa memulainya dengan:
bash
sudo systemctl start postgresql - Setelah itu, coba lagi untuk mengakses PostgreSQL.
Tips Pencegahan
Untuk mencegah masalah ini di masa depan, Anda dapat mengikuti tips berikut:
- Selalu gunakan versi terbaru dari PostgreSQL.
- Periksa konfigurasi file
pg_hba.confsetelah setiap instalasi atau pembaruan. - Gunakan metode otentikasi yang sesuai dengan kebutuhan Anda.
- Pastikan bahwa pengguna sistem yang digunakan sesuai dengan pengguna PostgreSQL.
Ringkasan
Error “failed: FATAL: Peer authentication failed for user "postgres" (Ubuntu)” biasanya disebabkan oleh ketidakcocokan antara pengguna sistem dan pengguna PostgreSQL atau konfigurasi yang salah pada file pg_hba.conf. Dengan mengikuti langkah-langkah di atas, Anda dapat dengan mudah mengatasi masalah ini. Pastikan untuk selalu memeriksa pengaturan dan izin akses untuk menghindari masalah serupa di masa depan. Jika masalah tetap tidak teratasi, pertimbangkan untuk menghubungi dukungan resmi PostgreSQL untuk bantuan lebih lanjut.

コメント