Step-by-Step Install PostgreSQL 18.3 di Ubuntu 24.04
1. Update sistem
Selalu mulai dengan update paket.
sudo apt update && sudo apt upgrade -y
2. Install dependency
Beberapa tool diperlukan untuk menambahkan repository.
sudo apt install -y curl ca-certificates gnupg lsb-release
3. Import PostgreSQL GPG Key
Tambahkan key resmi PostgreSQL.
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc \
| sudo gpg --dearmor -o /usr/share/keyrings/postgresql.gpg
4. Tambahkan PostgreSQL Repository
echo "deb [signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
| sudo tee /etc/apt/sources.list.d/postgresql.list
Untuk Ubuntu 24.04, variable $(lsb_release -cs) akan menghasilkan:
noble-pgdg
5. Update repository
sudo apt update
Cek apakah PostgreSQL 18 tersedia
apt search postgresql-18
6. Install PostgreSQL 18
sudo apt install -y postgresql-18
Ini akan otomatis menginstall:
-
postgresql-18
-
postgresql-client-18
-
postgresql-common
7. Cek service PostgreSQL
sudo systemctl status postgresql
Harusnya status:
active (running)
Jika belum:
sudo systemctl enable postgresql
sudo systemctl start postgresql
8. Cek versi PostgreSQL
psql --version
Output seharusnya:
psql (PostgreSQL) 18.3
9. Login ke PostgreSQL
Switch ke user postgres:
sudo -i -u postgres
Masuk ke CLI database:
psql
Prompt akan berubah menjadi:
postgres=#
10. Test database
Buat database test:
CREATE DATABASE testdb;
Cek:
\l
Keluar dari psql:
\q
11. Konfigurasi listen address (opsional untuk remote)
Edit file konfigurasi:
sudo nano /etc/postgresql/18/main/postgresql.conf
Cari:
#listen_addresses = 'localhost'
Ubah menjadi:
listen_addresses = '*'
12. Konfigurasi client authentication
Edit file:
sudo nano /etc/postgresql/18/main/pg_hba.conf
Tambahkan:
host all all 0.0.0.0/0 md5
13. Restart PostgreSQL
sudo systemctl restart postgresql
14. Cek port PostgreSQL
ss -plnt | grep 5432
Output:
LISTEN 0 128 0.0.0.0:5432
15. Buat user database
Masuk lagi ke postgres:
sudo -u postgres psql
Buat user:
CREATE USER appuser WITH PASSWORD 'passwordku';
Buat database:
CREATE DATABASE appdb OWNER appuser;
Struktur file penting PostgreSQL di Ubuntu
| File | Fungsi |
|---|---|
/etc/postgresql/18/main/postgresql.conf |
konfigurasi utama |
/etc/postgresql/18/main/pg_hba.conf |
authentication |
/var/lib/postgresql/18/main |
data directory |
/var/log/postgresql/ |
log |
Command penting PostgreSQL
Start service
sudo systemctl start postgresql
Stop
sudo systemctl stop postgresql
Restart
sudo systemctl restart postgresql
Verifikasi cluster
PostgreSQL di Ubuntu menggunakan cluster management.
Cek:
pg_lsclusters
Contoh output:
Ver Cluster Port Status Owner Data directory
18 main 5432 online postgres /var/lib/postgresql/18/main
Tips DevOps (penting)
Kalau PostgreSQL ini dipakai untuk production server, biasanya saya langsung set:
Max connections
max_connections = 200
Shared buffers
shared_buffers = 1GB
Password encryption
password_encryption = scram-sha-256