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
Post a Comment