How to Install PostgreSQL

PostgreSQL merupakan object-relational database management system (ORDBMS) based on POSTGRES, Version 4.2 yang dikembangkan oleh Universitas California di Departemen Ilmu Komputer Berkeley.

PostgreSQL bersifat open source dengan beberapa fitur penting meliputi:

  • complex queries
  • foreign keys
  • triggers
  • updatable views
  • transactional integrity
  • multiversion concurrency control

Install PostgreSQL

Install postgresql melalui repo resmi dan tentukan OS yang Anda pakai melalui PostgreSQL: Downloads

Contoh skrip untuk install postgresql dengan di Rocky Linux

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql
dnf install -y postgresql15.x86_64 postgresql15-server.x86_64 postgresql15-docs.x86_64 postgresql15-contrib.x86_64

Inisialisasi Database

Inisialisai database atau buat baru cluster database PostgreSQL menggunakan

/usr/pgsql-15/bin/postgresql-15-setup initdb

Selanjutnya enable dan start service PostgreSQL

systemctl enable --now postgresql-15

Sampai ini Anda sudah dapat me-remote PostgreSQL.

su - postgres -c psql

Client Authentication

Jika menemukan error seperti berikut.

# psql -U postgres
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL:  Peer authentication failed for user "postgres"

Anda perlu mengedit file pg_hba.conf lalu ubah authentication dari peer menjadi md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     md5
local   all             postgres                                trust
  • Peer Authentication: metode otentikasi default untuk koneksi lokal berdasarkan UNIX user. metode ini mengizinkan akses login tanpa kata sandi tambahan.
  • MD5 Authentication: metode otentikasi ini akan selalu meminta password yang di-hash dalam format MD5 untuk memverifikasi identitas.
  • Trust Authentication: metode otentikasi yang tidak aman karena tidak memerlukan otentikasi apa pun. Gunakan metode ini ketika Anda ingin mengubah password user postgres.

Restart service postgresql

systemctl restart postgresql-15

Selanjutnya ubah password user postgres

psql -U postgres
ALTER USER postgres with password ‘new-password’;

Lalu edit kembali file pg_hba.conf dan ubah authentication trust menjadi md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     md5
local   all             postgres                                md5

Buat file .pgpass untuk menyimpan password sehingga menjadi autologin tanpa perlu memasukan password.

touch ~/.pgpass
chmod 600 ~/.pgpass
nano ~/.pgpass
# hostname:port:database:username:password
*:*:*:postgres:new-password

Test akses login postgresql dengan user postgres.

psql -U postgres