Instalasi PostgreSQL 18 di Ubuntu 24.04
Introduction
Memilih database management system yang tepat adalah fondasi krusial bagi setiap aplikasi modern. Salah satu database opensource yang populer yaitu PostgreSQL. Untuk PostgreSQL version yang akan kita gunakan yaitu PostgreSQL 18 yang telah membawa peningkatan performa yang signifikan pada query parallelism, optimasi vacuuming, serta efisiensi storage yang jauh lebih baik.
Untuk itu kita akan menggunakan system operasi, Ubuntu 24.04 (Noble Numbat). Di artikel kali ini, kita akan mengupas tuntas langkah demi langkah cara menginstal PostgreSQL 18 secara bersih menggunakan repositori resmi PGDG, lengkap dengan tips konfigurasi awal agar database Anda siap digunakan dengan aman.
Untuk konfigurasi kita akan mengexpose port postgresql agar bisa diakses dari lokal network
Preparation
Untuk kebutuhan single PostgreSQL itu cukup simple, hanya menyediakan 1 Server, Koneksi Internet, dan IP Address untuk kita bisa akses ke postgresql
Configuration
Step 1: Update system dan Install dependency
sudo apt update && sudo apt upgrade -y
Step 2: Install repository resmi postgres & install postgres 18
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
sudo apt update
sudo apt install postgresql-18
Step 3: Mengubah pg_hba.conf untuk mengubah beberapa metode autentikasi
Ubah semua methode menggunakan scram-sha-256 dan tambahkan network agar semua user bisa akses dari network tersebut
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
### Tambahkan ini agar bisa diakses dari local
host all all 10.0.0.0/8 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
Step 4: Ubah listen address agar bisa diakses dari remote ip
sudo nano /etc/postgresql/18/main/postgresql.conf
# Cari pada baris ini dan ubah ke * (any) agar bisa diakses selain dari localhost
listen_addresses = '*'
Step 5: Allow firewall ufw dan restart service postgresql
sudo ufw allow 5432/tcp
sudo systemctl enable postgresql
sudo systemctl restart postgresql
sudo systemctl status postgresql