PostgreSQL adalah sistem manajemen basis data relasional open-source yang kuat dan andal. Dirancang untuk menangani beban kerja yang kompleks, PostgreSQL mendukung berbagai fitur canggih, seperti:
- ACID compliance → menjamin konsistensi dan keandalan data
- Ekstensibilitas → memungkinkan penambahan fungsi kustom
- Dukungan data modern → JSON, kueri geospasial, dan replikasi
PostgreSQL banyak digunakan untuk aplikasi web, analitik data, hingga penyimpanan data yang kompleks
Instalasi PostgreSQL #
Unduh PostgreSQL sesuai sistem operasi yang digunakan melalui repo resmi PostgreSQL: Downloads
Contoh Instalasi di Rocky Linux
# Tambahkan repository resmi PostgreSQL
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Nonaktifkan module bawaan PostgreSQL
dnf -qy module disable postgresql
# Install PostgreSQL 15 beserta paket pendukung
dnf install -y postgresql15.x86_64 \
postgresql15-server.x86_64 \
postgresql15-docs.x86_64 \
postgresql15-contrib.x86_64
Inisialisasi Database #
Buat cluster database baru dengan perintah:
/usr/pgsql-15/bin/postgresql-15-setup initdb
Aktifkan dan jalankan service PostgreSQL:
systemctl enable --now postgresql-15
Setelah service aktif, Anda dapat masuk ke shell PostgreSQL menggunakan user postgres
:
su - postgres -c psql
Client Authentication #
Jika menemukan error berikut saat mencoba login ke PostgreSQL:
psql -U postgres
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed:
FATAL: Peer authentication failed for user "postgres"
Artinya Anda perlu metode autentikasi default (peer
) menjadi md5
atau trust
(sementara).
1. Edit File pg_hba.conf
#
Ubah metode autentikasi dari peer
menjadi md5
atau trust
(sementara).
Lokasi file biasanya ada di:
/var/lib/pgsql/15/data/pg_hba.conf
Contoh konfigurasi:
# TYPE DATABASE USER ADDRESS METHOD
local all all md5
local all postgres trust
Penjelasan metode autentikasi:
- Peer → metode default untuk koneksi lokal berbasis user UNIX, tanpa password tambahan.
- MD5 → meminta password yang disimpan dalam format hash MD5 (lebih aman).
- Trust → tanpa otentikasi (tidak aman). Hanya gunakan sementara, misalnya untuk mengubah password.
2. Restart PostgreSQL #
Setelah mengedit pg_hba.conf
, restart service:
systemctl restart postgresql-15
3. Ubah Password User postgres
#
Masuk ke PostgreSQL lalu set password baru:
psql -U postgres
ALTER USER postgres WITH PASSWORD 'new-password';
4. Kembalikan trust
ke md5
#
Setelah password diubah, edit kembali pg_hba.conf
agar koneksi menggunakan password:
# TYPE DATABASE USER ADDRESS METHOD
local all all md5
local all postgres md5
Restart kembali PostgreSQL:
systemctl restart postgresql-15
5. (Opsional) Autologin dengan .pgpass
#
Agar tidak perlu mengetik password setiap kali login, buat file .pgpass
:
touch ~/.pgpass
chmod 600 ~/.pgpass
nano ~/.pgpass
Isi dengan format:
# hostname:port:database:username:password
*:*:*:postgres:new-password
6. Test Login #
Sekarang uji kembali akses:
psql -U postgres