Cara Memperbaiki Error failed: FATAL: Peer authentication…

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:

  1. Pengguna sistem tidak sama dengan nama pengguna PostgreSQL.
  2. Konfigurasi PostgreSQL yang salah pada file pg_hba.conf.
  3. PostgreSQL tidak berjalan atau tidak terinstal dengan benar.
  4. 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.

  1. 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, misalnya 12, 13, atau 14.
  2. Temukan baris yang mengandung peer di bagian yang relevan. Baris ini biasanya terlihat seperti berikut:
    local all postgres peer
  3. Ubah peer menjadi md5 sehingga menjadi:
    local all postgres md5
  4. Simpan file dan keluar dari editor.
  5. Restart PostgreSQL agar perubahan dapat diterapkan:
    bash
    sudo systemctl restart postgresql
  6. 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.

  1. Cek pengguna sistem Anda dengan perintah:
    bash
    whoami
  2. Jika nama pengguna tidak sama dengan “postgres”, Anda dapat beralih ke pengguna “postgres” dengan perintah:
    bash
    sudo -i -u postgres
  3. Setelah itu, coba akses PostgreSQL:
    bash
    psql

Metode 3: Memastikan PostgreSQL Berjalan

Pastikan bahwa layanan PostgreSQL sedang berjalan. Jika tidak, Anda perlu memulainya.

  1. Periksa status PostgreSQL dengan perintah:
    bash
    sudo systemctl status postgresql
  2. Jika PostgreSQL tidak berjalan, Anda bisa memulainya dengan:
    bash
    sudo systemctl start postgresql
  3. 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.conf setelah 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.

コメント

タイトルとURLをコピーしました