Cara Enable Remote Database PostgreSQL agar bisa diakses dengan DBeaver

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.

  1. Update Repository Sistem
    Sebelum instalasi, update dulu paket sistem agar versinya terbaru.
    sudo apt update
  2. Install PostgreSQL
    Install PostgreSQL dan paket tambahan (contrib):
    sudo apt install postgresql postgresql-contrib -y
    Catatan : Tunggu sampai proses instalasi selesai.
  3. Cek Status PostgreSQL
    • Pastikan PostgreSQL sudah berjalan:
      sudo systemctl status postgresql
      Output:
    • Jika belum aktif, jalankan:
      sudo systemctl start postgresql
      sudo systemctl enable postgresql
  4. Cek Versi PostgreSQL (Opsional)
    Untuk memastikan PostgreSQL terinstal dengan benar:
    psql --version

    output :

    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 :

  1. Buka file konfigurasi:
    sudo nano /etc/postgresql/16/main/postgresql.conf
    Catatan : Untuk "16" Sesuaikan versi PostgreSQL di server kamu
  2. 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

Konfigurasi File pg_hba.conf

File pg_hba.conf mengatur siapa saja yang boleh login ke PostgreSQL.

  1. Buka file konfigurasi:
    sudo nano /etc/postgresql/16/main/pg_hba.conf
  2. Tambahkan baris di bagian bawah:

    host    all     all     0.0.0.0/0       md5
    Catatan : Penggunaan 0.0.0.0/0 tidak disarankan untuk server production karena mengizinkan semua IP. Gunakan IP spesifik jika memungkinkan.
  3. Atau jika ingin lebih aman, gunakan IP tertentu:
    host    all     all     192.168.1.100/32   md5

    Penjelasan :

    • host = koneksi jaringan
    • all = semua database
    • all = semua user
    • md5 = autentikasi dengan password
  4. Restart PostgreSQL
    Agar semua perubahan yang kamu buat diterapkan dengan benar, lakukan restart pada layanan
    sudo systemctl restart postgresql

Konfigurasi User dan Database PostgreSQL

  1. Masuk ke PostgreSQL
    • Login ke PostgreSQL menggunakan user default postgres:
      sudo -u postgres psql
    • Jika berhasil, kamu akan masuk ke prompt:
      postgres=#
  2. 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
  3. 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.
  4. Buat Database Baru
    CREATE DATABASE dbtest;
  5. 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).

  1. Untuk UFW (Ubuntu & Debian) :
    sudo ufw allow 5432/tcp
    sudo ufw reload
  2. Untuk firewalld (Redhat) :
    sudo firewall-cmd --add-port=5432/tcp --permanent
    sudo firewall-cmd --reload
    Catatan : 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:
    psql -h IP_SERVER -U dbuser -d dbtest
    Jika berhasil login, berarti konfigurasi remote PostgreSQL sudah benar.
  • Jika gagal, biasanya karena:
    • Firewall belum dibuka
    • Salah password
    • Salah IP di pg_hba.conf
    • PostgreSQL belum restart

Konfigurasi Koneksi PostgreSQL di DBeaver

  1. Pastikan sudah Download DBeaver
    Jika belum Download bisa klik pada link berikut disini
  2. Masuk kedalam DBeaver, Kemudian klik Database, dan pilih New Database Connection
  3. Pilih Postgresql kemudian klik Next


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



  5. 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:

  1. Connection refused
    Solusi:
    • Pastikan PostgreSQL running
    • Pastikan port 5432 terbuka
  2. Password authentication failed
    Solusi:
    • Cek username dan password
    • Pastikan metode md5 di pg_hba.conf
  3. No pg_hba.conf entry
    Solusi:
    • Tambahkan IP client ke pg_hba.conf
    • Restart PostgreSQL
  4. 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.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Finance : +6285191239466