
Cara install PostgreSQL di VPS sering dicari developer yang butuh database open-source dengan fitur canggih. Berbeda dengan MySQL, PostgreSQL unggul dalam menangani query kompleks, transaksi besar, dan integritas data yang ketat.
Jika Anda baru pertama kali menyentuh server sendiri, panduan ini akan membawa Anda dari nol hingga PostgreSQL siap dipakai produksi.
Mengapa Memilih PostgreSQL untuk VPS Anda
PostgreSQL bukan sekadar alternatif MySQL. Database ini mendukung tipe data JSON, full-text search, dan ekstensi geospasial tanpa plugin tambahan.
Banyak aplikasi modern seperti sistem ERP, platform analitik, dan layanan finansial mengandalkan PostgreSQL karena kepatuhan ACID yang kuat. Untuk proyek skala menengah ke atas di VPS, pilihan ini memberikan fondasi yang lebih kokoh.
Perbandingan singkat dengan database lain:
AspekPostgreSQLMySQL/MariaDB
Query kompleksSangat optimalCukup baik
Tipe data JSONNative & terindeksTerbatas
EkstensiSangat kayaTerbatas
Konsumsi RAMSedikit lebih tinggiLebih ringan
Persiapan Sebelum Instalasi
Pastikan VPS Anda menjalankan sistem operasi yang didukung. Tutorial ini menggunakan Ubuntu LTS sebagai contoh, namun langkah serupa berlaku untuk Debian dan turunannya.
Kebutuhan minimum yang disarankan:
- RAM 1 GB untuk pengujian, 2 GB+ untuk produksi
- Storage 10 GB kosong
- Akses root atau user dengan sudo
- SSH aktif dan koneksi stabil
Sebelum mulai, perbarui indeks paket sistem:
sudo apt update && sudo apt upgrade -y
Jika VPS Anda baru saja di-setup, pertimbangkan untuk mengkonfigurasi firewall terlebih dahulu agar hanya port yang diperlukan yang terbuka.
Cara Install PostgreSQL di VPS Langkah demi Langkah
Langkah 1: Instal Paket PostgreSQL
Tambahkan repositori resmi PostgreSQL untuk mendapatkan versi terbaru:
sudo sh -c ‘echo “deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main” > /etc/apt/sources.list.d/pgdg.list’
wget –quiet -O – https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add –
sudo apt update
sudo apt install postgresql postgresql-contrib -y
Paket postgresql-contrib menyertakan ekstensi berguna seperti pg_stat_statements untuk monitoring query.
Langkah 2: Verifikasi Servis Berjalan
Setelah instalasi selesai, servis PostgreSQL otomatis aktif. Periksa statusnya:
sudo systemctl status postgresql
Jika status menunjukkan active (running), database server sudah siap. Anda juga bisa mengaktifkan start otomatis saat boot:
sudo systemctl enable postgresql
Langkah 3: Konfigurasi User dan Database Pertama
PostgreSQL membuat user sistem postgres secara default. Untuk mengelola database, beralih ke user tersebut:
sudo -u postgres psql
Anda akan masuk ke shell PostgreSQL. Buat database baru dan user dengan hak akses:
CREATE DATABASE proyek_pertama;
CREATE USER admin_proyek WITH ENCRYPTED PASSWORD ‘password_kuat_anda’;
GRANT ALL PRIVILEGES ON DATABASE proyek_pertama TO admin_proyek;
Keluar dari shell dengan perintah \q.
Langkah 4: Atur Akses Jarak Jauh (Opsional)
Secara default PostgreSQL hanya menerima koneksi lokal. Jika aplikasi berada di server berbeda, edit dua file konfigurasi.
Pertama, postgresql.conf:
sudo nano /etc/postgresql/16/main/postgresql.conf
Cari baris listen_addresses dan ubah menjadi:
listen_addresses = ‘*’
Kedua, pg_hba.conf untuk aturan autentikasi:
sudo nano /etc/postgresql/16/main/pg_hba.conf
Tambahkan baris di bagian bawah:
host all all 0.0.0.0/0 scram-sha-256
Restart servis agar perubahan berlaku:
sudo systemctl restart postgresql
Peringatan keamanan: Ganti 0.0.0.0/0 dengan IP spesifik aplikasi Anda bila memungkinkan. Buka port 5432 di firewall hanya untuk sumber terpercaya.
Optimasi Awal PostgreSQL di VPS
Konfigurasi default PostgreSQL dirancang agar berjalan di berbagai lingkungan. Untuk VPS dengan resource terbatas, beberapa penyetelan meningkatkan performa signifikan.
Edit file postgresql.conf dan sesuaikan parameter berikut sesuai RAM VPS Anda:
- shared_buffers: 25% dari total RAM (maksimal sekitar 8 GB)
- effective_cache_size: 50-75% dari total RAM
- work_mem: 4-16 MB per koneksi yang diperkirakan
- maintenance_work_mem: 256 MB hingga 1 GB untuk operasi VACUUM dan CREATE INDEX
Setelah mengubah konfigurasi, restart PostgreSQL. Pantau penggunaan resource beberapa hari pertama, lalu sesuaikan lagi.
Untuk pemantauan lebih lanjut, Anda bisa mempelajari cara monitoring server VPS agar tidak kaget saat traffic naik tiba-tiba.
Backup dan Recovery Database PostgreSQL
Data adalah aset paling berharga. PostgreSQL menyediakan utilitas pg_dump untuk backup logical dan pg_basebackup untuk physical backup.
Backup satu database ke file SQL:
pg_dump -U admin_proyek proyek_pertama > backup_proyek.sql
Backup dengan kompresi dan format custom untuk restore fleksibel:
pg_dump -U admin_proyek -Fc proyek_pertama > backup_proyek.dump
Untuk restore:
pg_restore -U admin_proyek -d proyek_baru backup_proyek.dump
Jadwalkan backup otomatis dengan cron job. Simpan salinan di lokasi berbeda dari VPS, misalnya object storage atau server lain. Topik backup ini berkaitan erat dengan praktik backup database VPS yang sudah kami bahas sebelumnya.
Troubleshooting Masalah Umum
Berikut kendala yang sering dihadapi pemula dan solusinya:
- Peer authentication failed: Terjadi saat koneksi lokal menggunakan user sistem yang berbeda. Gunakan -U untuk menentukan user PostgreSQL, atau ubah metode autentikasi di pg_hba.conf.
- Could not connect to server: Periksa apakah servis berjalan, port 5432 terbuka, dan listen_addresses sudah benar.
- Out of memory: Turunkan work_mem atau shared_buffers. VPS dengan RAM minim butuh konfigurasi lebih konservatif.
- Database locked atau lambat: Jalankan VACUUM ANALYZE secara rutin untuk membersihkan dead tuples dan memperbarui statistics.
Kesimpulan
Cara install PostgreSQL di VPS tidak serumit yang dibayangkan. Dengan mengikuti langkah persiapan, instalasi, konfigurasi user, dan penyetelan awal, Anda sudah memiliki database production-ready dalam waktu singkat.
PostgreSQL memberikan fondasi kuat untuk aplikasi yang butuh integritas data tinggi dan query kompleks. Mulai dari proyek pribadi hingga sistem bisnis, investasi waktu untuk memahami database ini terbayar dengan performa dan keandalan jangka panjang.
Butuh VPS handal untuk menjalankan PostgreSQL? Kunjungi AntaHost dan pilih paket Cloud VPS dengan resource yang bisa disesuaikan kebutuhan database Anda.