Cara Enable Remote Database PostgreSQL agar bisa diakses dengan DBeaver
Pendahuluan
PostgreSQL adalah salah satu database open source yang banyak digunakan untuk aplikasi web dan sistem enterprise. Dalam praktiknya, database sering berada di server terpisah, dan untuk memudahkan pengelolaannya, kita memerlukan akses remote menggunakan tools seperti DBeaver. Mengaktifkan akses remote PostgreSQL memungkinkan koneksi dari luar server, misalnya dari laptop atau PC lokal, yang sangat penting karena memudahkan pengelolaan database tanpa harus selalu login ke server via SSH, membantu proses debugging dan monitoring, mempercepat pekerjaan developer dan administrator database, serta memberikan kemudahan saat bekerja dalam tim atau lingkungan produksi. Artikel ini akan membahas langkah demi langkah cara mengaktifkan akses remote PostgreSQL untuk dapat terhubung dengan DBeaver secara aman dan stabil.
Mengenal PostgreSQL dan DBeaver
PostgreSQL adalah sistem manajemen database relasional (RDBMS) yang terkenal stabil, aman, dan mendukung fitur lanjutan seperti JSON, replikasi, serta transaksi kompleks. Sementara itu, DBeaver adalah aplikasi database client berbasis GUI yang mendukung berbagai jenis database, termasuk PostgreSQL. Dengan DBeaver, kita bisa melihat tabel dan data secara visual, menjalankan query SQL dengan mudah, mengelola user dan database, serta melakukan export dan import data. Kombinasi PostgreSQL dan DBeaver sangat cocok untuk administrasi database jarak jauh, memungkinkan pengelolaan database dengan lebih efisien dan praktis.
Arsitektur Akses Remote PostgreSQL
Secara sederhana, arsitektur akses remote PostgreSQL terdiri dari:
- Client: PC atau laptop yang menggunakan DBeaver sebagai aplikasi database client.
- Server PostgreSQL: VPS atau server lokal tempat PostgreSQL diinstal.
- Jaringan: Koneksi melalui internet atau LAN.
- Port PostgreSQL: Port default untuk PostgreSQL adalah 5432.
Alur koneksi:
Client - IP Server + Port 5432 - PostgreSQL Server - Database
Catatan : Agar koneksi berhasil, server harus mengizinkan koneksi dari IP client, dan firewall harus membuka port 5432 yang digunakan oleh PostgreSQL.
Persiapan Server PostgreSQL
Bagian ini menjelaskan cara menginstal PostgreSQL dari awal sampai siap digunakan untuk koneksi remote atau lokal. Langkah-langkah ini dijalankan di Ubuntu 24.04, namun cara ini juga dapat diterapkan pada distribusi Linux berbasis Debian lainnya seperti Debian.
- Update Repository Sistem
Sebelum instalasi, update dulu paket sistem agar versinya terbaru.
sudo apt update - Install PostgreSQL
Install PostgreSQL dan paket tambahan (contrib):
sudo apt install postgresql postgresql-contrib -yCatatan : Tunggu sampai proses instalasi selesai.
- Cek Status PostgreSQL
- Pastikan PostgreSQL sudah berjalan:
Output:sudo systemctl status postgresql
- Jika belum aktif, jalankan:
sudo systemctl start postgresql sudo systemctl enable postgresql
- Pastikan PostgreSQL sudah berjalan:
- Cek Versi PostgreSQL (Opsional)
Untuk memastikan PostgreSQL terinstal dengan benar:
psql --versionoutput :
root@lab:~# psql --version psql (PostgreSQL) 16.11 (Ubuntu 16.11-0ubuntu0.24.04.1)
Konfigurasi File postgresql.conf
File postgresql.conf mengatur bagaimana PostgreSQL menerima koneksi.
Berikut Langkah - Langkahnya :
- Buka file konfigurasi:
sudo nano /etc/postgresql/16/main/postgresql.confCatatan : Untuk "16" Sesuaikan versi PostgreSQL di server kamu
- Ubah akses database
- Cari baris:
#listen_addresses = 'localhost' - Ubah menjadi:
listen_addresses = '*'Catatan : Mengubah listen_addresses ke * memungkinkan koneksi dari semua IP
- atau bisa juga spesifik IP:
listen_addresses = '192.168.1.10'Catatan : Gunakan IP spesifik jika hanya ingin akses dari alamat tertentu.
- Simpan dan keluar.
Klik Ctrl X + Y
Pengaturan ini mengizinkan PostgreSQL menerima koneksi dari luar localhost
- Cari baris:
Konfigurasi File pg_hba.conf
File pg_hba.conf mengatur siapa saja yang boleh login ke PostgreSQL.
- Buka file konfigurasi:
sudo nano /etc/postgresql/16/main/pg_hba.conf -
Tambahkan baris di bagian bawah:
host all all 0.0.0.0/0 md5Catatan : Penggunaan 0.0.0.0/0 tidak disarankan untuk server production karena mengizinkan semua IP. Gunakan IP spesifik jika memungkinkan.
- Atau jika ingin lebih aman, gunakan IP tertentu:
host all all 192.168.1.100/32 md5Penjelasan :
- host = koneksi jaringan
- all = semua database
- all = semua user
- md5 = autentikasi dengan password
- Restart PostgreSQL
Agar semua perubahan yang kamu buat diterapkan dengan benar, lakukan restart pada layanan
sudo systemctl restart postgresql
Konfigurasi User dan Database PostgreSQL
- Masuk ke PostgreSQL
- Login ke PostgreSQL menggunakan user default postgres:
sudo -u postgres psql - Jika berhasil, kamu akan masuk ke prompt:
postgres=#
- Login ke PostgreSQL menggunakan user default postgres:
- Set Password User postgres
- Secara default user postgres belum punya password untuk akses remote. Set password terlebih dahulu:
ALTER USER postgres WITH PASSWORD 'passwordku';Catatan : Ganti passwordku dengan password yang kuat.
- Keluar dari PostgreSQL:
\q
- Secara default user postgres belum punya password untuk akses remote. Set password terlebih dahulu:
- Buat User Database Baru (Disarankan)
- Jangan gunakan user postgres untuk aplikasi. Buat user baru:
sudo -u postgres psql - Lalu jalankan:
CREATE USER dbuser WITH PASSWORD 'passworddb';Catatan : Ganti passwordku dengan passworddb yang kuat.
- Jangan gunakan user postgres untuk aplikasi. Buat user baru:
- Buat Database Baru
CREATE DATABASE dbtest; - Berikan Hak Akses ke User
GRANT ALL PRIVILEGES ON DATABASE dbtest TO dbuser;Keluar dari PostgreSQL:
\q
Konfigurasi Firewall Server
Jika firewall aktif, buka port PostgreSQL (5432).
- Untuk UFW (Ubuntu & Debian) :
sudo ufw allow 5432/tcp sudo ufw reload - Untuk firewalld (Redhat) :
sudo firewall-cmd --add-port=5432/tcp --permanent sudo firewall-cmd --reloadCatatan : Tanpa membuka port ini, DBeaver tidak akan bisa terhubung ke server.
Testing Akses Remote PostgreSQL
Sebelum ke DBeaver, kamu bisa tes dari komputer lain
- Gunakan perintah:
Jika berhasil login, berarti konfigurasi remote PostgreSQL sudah benar.psql -h IP_SERVER -U dbuser -d dbtest - Jika gagal, biasanya karena:
- Firewall belum dibuka
- Salah password
- Salah IP di pg_hba.conf
- PostgreSQL belum restart
Konfigurasi Koneksi PostgreSQL di DBeaver
- Pastikan sudah Download DBeaver
Jika belum Download bisa klik pada link berikut disini - Masuk kedalam DBeaver, Kemudian klik Database, dan pilih New Database Connection

- Pilih Postgresql kemudian klik Next

- Masukkan Host,Nama Database, Username dan Password.Klik Test Connection
Jika sukses, klik Finish
- Database berhasil diakses

Keamanan Akses Remote PostgreSQL
Akses remote harus disertai pengamanan yang baik, antara lain:
- Jangan gunakan user postgres untuk login remote
- Batasi IP di pg_hba.conf
- Gunakan password yang kuat
- Gunakan SSL connection jika diakses melalui internet
- Tutup port jika tidak digunakan
Keamanan sangat penting agar database tidak mudah diserang.
Masalah Umum dan Solusinya
Beberapa error yang sering muncul:
- Connection refused
Solusi:- Pastikan PostgreSQL running
- Pastikan port 5432 terbuka
- Password authentication failed
Solusi:- Cek username dan password
- Pastikan metode md5 di pg_hba.conf
- No pg_hba.conf entry
Solusi:- Tambahkan IP client ke pg_hba.conf
- Restart PostgreSQL
- Timeout connection
Solusi:- Cek firewall
- Cek IP server
- Cek jaringan
Best Practice Akses Database Remote
Beberapa rekomendasi agar akses remote lebih aman dan stabil:
- Gunakan VPN atau SSH tunnel jika memungkinkan
- Batasi IP client di pg_hba.conf
- Gunakan user khusus untuk aplikasi dan user khusus untuk admin
- Backup database secara rutin
- Monitor log PostgreSQL secara berkala
Dengan best practice ini, database tetap aman walaupun diakses dari jarak jauh.
Kesimpulan
Enable remote database PostgreSQL agar bisa diakses dengan DBeaver adalah langkah penting untuk memudahkan pengelolaan dan monitoring database. Prosesnya meliputi konfigurasi postgresql.conf, pg_hba.conf, user database, firewall, serta pengujian koneksi.
Jika semua langkah dilakukan dengan benar, kamu bisa mengakses PostgreSQL dari mana saja secara praktis dan aman. Sebagai saran lanjutan, sebaiknya terapkan pengamanan tambahan seperti SSL atau SSH tunnel agar akses remote lebih terlindungi.
Semoga panduan ini membantu kamu memahami cara enable remote PostgreSQL dengan lebih mudah dan jelas. Jika sudah berhasil, kamu bisa lanjut mempelajari optimasi performa dan backup database untuk sistem yang lebih andal.


