Pertama, penting untuk dipahami bahwa untuk sebagian besar distribusi Unix, pengguna Postgres default tidak memerlukan atau menggunakan kata sandi untuk otentikasi. Sebagai gantinya, tergantung bagaimana Postgres awalnya diinstal dan versi apa yang Anda gunakan, metode otentikasi default akan menjadi ident atau peer .
ident otentikasi menggunakan server identifikasi sistem operasi yang berjalan pada port TCP 113 untuk memverifikasi kredensial pengguna.
peer otentikasi di sisi lain, digunakan untuk koneksi lokal dan memverifikasi bahwa nama pengguna yang masuk dari sistem operasi cocok dengan nama pengguna untuk database Postgres.
Masuk dan Hubungkan sebagai Pengguna Default
Untuk sebagian besar sistem, pengguna default Postgres adalah postgres dan kata sandi tidak diperlukan untuk otentikasi. Jadi, untuk menambahkan kata sandi, kita harus login terlebih dahulu dan terhubung sebagai postgres pengguna.
$ sudo -u postgres psql
Jika Anda berhasil terhubung dan melihat psql prompt, lompat ke bawah ke Mengubah Kata Sandi bagian.
Jika Anda menerima pesan kesalahan yang menyatakan bahwa database “postgres” tidak ada, coba sambungkan ke template1 database sebagai gantinya dan jika berhasil, lanjutkan ke Mengubah Kata Sandi .
$ sudo -u postgres psql template1
Kesalahan Otentikasi
Jika Anda menerima kesalahan autentikasi saat mencoba menyambung ke psql klien, Anda mungkin perlu mengubah file konfigurasi otentikasi Postgres (pg_hfa.conf).
Buka file konfigurasi, biasanya terletak di /etc/postgresql/#.#/main/pg_hba.conf , di mana #.# adalah versi Postgres yang Anda gunakan:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
File konfigurasi auth adalah daftar aturan otentikasi. Gulir ke bawah file sampai Anda menemukan baris pertama yang menampilkan postgres pengguna di kolom ketiga (jika ada baris seperti itu). Batalkan komentar pada baris jika perlu (hapus titik koma), atau jika baris tersebut hilang seluruhnya, tambahkan baris berikut ke bagian atas file dan simpan perubahan Anda:
local all postgres peer
Aturan otentikasi ini hanya memberi tahu Postgres bahwa untuk koneksi lokal yang dibuat ke semua database untuk pengguna postgres , autentikasi menggunakan peer protokol.
Catatan:Beberapa versi Postgres yang lebih lama lebih memilih metode otentikasi default dari ident, tetapi sebagian besar instalasi modern akan menggunakan rekan seperti yang ditentukan di atas. Anda mungkin perlu menguji keduanya jika hasilnya berbeda.
Sekarang dengan file konfigurasi Anda diperbarui, ulangi langkah-langkah di Masuk dan Hubungkan sebagai Pengguna Default bagian untuk mencoba terhubung sebagai postgres default pengguna. Setelah berhasil, lanjutkan dengan mengubah kata sandi.
Mengganti Kata Sandi
Dengan koneksi sekarang dibuat ke Postgres di psql prompt, keluarkan ALTER USER perintah untuk mengubah kata sandi untuk postgres pengguna:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
Jika berhasil, Postgres akan menampilkan konfirmasi ALTER ROLE seperti yang terlihat di atas.
Terakhir, keluar dari psql klien dengan menggunakan \q perintah.
postgres=# \q
Anda sudah selesai. Default postgres pengguna sekarang memiliki kata sandi yang terkait dengan akun untuk digunakan di aplikasi Anda yang lain.