Cara Install PostgreSQL di Ubuntu 24.04 Lengkap Sampai Production

Tutorial PostgreSQL di Ubuntu 24.04

Cara Install PostgreSQL di Ubuntu 24.04 Lengkap Sampai Production

PostgreSQL merupakan salah satu database open-source paling populer yang digunakan oleh perusahaan besar, startup, hingga aplikasi enterprise. Database ini terkenal karena stabilitas, keamanan, dan performanya yang tinggi.

Pada tutorial ini, kita akan membahas cara install PostgreSQL di Ubuntu 24.04 mulai dari instalasi, konfigurasi user, pengaturan akses remote, hingga optimasi keamanan untuk server production.

Apa Itu PostgreSQL?

PostgreSQL adalah sistem manajemen database relasional (RDBMS) yang mendukung SQL dan berbagai fitur lanjutan seperti:

  • JSON dan JSONB

  • Full Text Search

  • Replication

  • Partitioning

  • Stored Procedure

  • High Availability

PostgreSQL banyak digunakan oleh aplikasi berbasis:

  • Laravel

  • Django

  • Node.js

  • Spring Boot

  • Ruby on Rails


Persyaratan

Sebelum memulai, pastikan Anda memiliki:

  • Ubuntu 24.04 Server

  • Akses sudo

  • Koneksi internet

  • Minimal RAM 1 GB

Cek versi Ubuntu:

lsb_release -a

Output:

Ubuntu 24.04 LTS

Update Repository

Update sistem terlebih dahulu:

sudo apt update && sudo apt upgrade -y

Install PostgreSQL

Install PostgreSQL dari repository Ubuntu:

sudo apt install postgresql postgresql-contrib -y

Verifikasi instalasi:

psql --version

Contoh output:

psql (PostgreSQL) 16.x

Cek Status PostgreSQL

Pastikan service berjalan:

sudo systemctl status postgresql

Jika belum aktif:

sudo systemctl enable postgresql
sudo systemctl start postgresql

Cek kembali:

sudo systemctl is-active postgresql

Output:

active

Login ke PostgreSQL

Masuk sebagai user postgres:

sudo -u postgres psql

Prompt akan berubah menjadi:

postgres=#

Keluar:

\q

Membuat Database Baru

Masuk ke PostgreSQL:

sudo -u postgres psql

Buat database:

CREATE DATABASE myapp;

Lihat daftar database:

\l

Membuat User PostgreSQL

Buat user baru:

CREATE USER myuser WITH ENCRYPTED PASSWORD 'passwordku';

Berikan hak akses:

GRANT ALL PRIVILEGES ON DATABASE myapp TO myuser;

Mengaktifkan Remote Connection

Secara default PostgreSQL hanya menerima koneksi lokal.

Edit konfigurasi:

sudo nano /etc/postgresql/16/main/postgresql.conf

Cari:

#listen_addresses = 'localhost'

Ubah menjadi:

listen_addresses = '*'

Simpan.


Konfigurasi pg_hba.conf

Edit:

sudo nano /etc/postgresql/16/main/pg_hba.conf

Tambahkan:

host    all    all    0.0.0.0/0    scram-sha-256

Untuk keamanan yang lebih baik, gunakan IP spesifik:

host    all    all    103.150.xxx.xxx/32    scram-sha-256

Ini lebih aman dibanding membuka akses ke seluruh internet.


Membuka Port PostgreSQL

Jika menggunakan UFW:

sudo ufw allow 5432/tcp

Atau hanya IP tertentu:

sudo ufw allow from 103.150.xxx.xxx to any port 5432

Cek:

sudo ufw status

Restart PostgreSQL

sudo systemctl restart postgresql

Cek Port PostgreSQL

sudo ss -tulpn | grep 5432

Output:

LISTEN 0 244 0.0.0.0:5432

Testing Koneksi dari Remote

Dari komputer lain:

psql -h IP_SERVER -U myuser -d myapp

Atau menggunakan:

  • DBeaver

  • DataGrip

  • pgAdmin


Tips Keamanan PostgreSQL Production

1. Jangan Gunakan User postgres untuk Aplikasi

Gunakan user terpisah:

CREATE USER app_user;

2. Batasi IP di pg_hba.conf

Lebih aman:

host all all 103.150.xxx.xxx/32 scram-sha-256

Daripada:

host all all 0.0.0.0/0 scram-sha-256

3. Batasi Firewall

Contoh:

sudo ufw allow from 103.150.xxx.xxx to any port 5432

4. Aktifkan SSL

Untuk server production yang menerima koneksi publik, gunakan SSL agar data terenkripsi saat transit.


5. Backup Berkala

Backup database:

pg_dump -U myuser myapp > backup.sql

Restore:

psql -U myuser myapp < backup.sql

Troubleshooting

PostgreSQL Tidak Bisa Diakses dari Luar

Periksa:

sudo ss -tulpn | grep 5432

Jika masih:

127.0.0.1:5432

Berarti konfigurasi listen_addresses belum benar.


Connection Refused

Periksa:

  • Firewall UFW

  • Security Group VPS

  • Port 5432 terbuka

  • PostgreSQL sudah restart


Password Authentication Failed

Reset password:

ALTER USER myuser PASSWORD 'passwordbaru';

FAQ

Apakah PostgreSQL gratis?

Ya, PostgreSQL sepenuhnya open source dan gratis digunakan untuk kebutuhan pribadi maupun komersial.

Versi PostgreSQL berapa yang tersedia di Ubuntu 24.04?

Saat artikel ini ditulis, Ubuntu 24.04 menyediakan PostgreSQL 16 melalui repository resminya.

Apakah PostgreSQL lebih baik daripada MySQL?

Tergantung kebutuhan. PostgreSQL unggul pada fitur enterprise, konsistensi data, JSONB, dan analisis data yang kompleks.

Apakah aman membuka port 5432 ke internet?

Aman jika dibatasi menggunakan firewall dan konfigurasi pg_hba.conf. Sebaiknya hanya mengizinkan IP tertentu yang memang membutuhkan akses.

Kesimpulan

PostgreSQL di Ubuntu 24.04 dapat diinstal hanya dalam beberapa menit. Namun untuk server production, fokus utama bukan hanya instalasi, tetapi juga keamanan melalui konfigurasi pg_hba.conf, pembatasan firewall, penggunaan user khusus aplikasi, serta backup rutin.


Comments

Search Articles