Pendahuluan

PostgreSQL adalah sistem manajemen basis data relasional open-source yang sangat andal dan kuat. Sementara itu, pgAdmin 4 adalah alat berbasis web yang digunakan untuk mengelola database PostgreSQL melalui antarmuka grafis.

Install PostgreSQL

  1. Update Sistem
    sudo apt update && sudo apt upgrade -y
  2. Menambahkan Repositori PostgreSQL
    Ubuntu 22.04 sudah menyediakan PostgreSQL di repository resminya, anda perlu mengimpor kunci GPG dan menambahkan repositori PostgreSQL.
    curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
    echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list
  3. Install PostgreSQL
    sudo apt install postgresql postgresql-contrib -y
    
  4. Cek Status PostgreSQL
    sudo systemctl status postgresql

Meningkatkan security PostgreSQL

  1. Gunakan password untuk user PostgreSQL
    Gunakan password acak dan panjang untuk setiap user, terutama postgres.

  2. Batasi Akses Network 
    Secara bawaan, PostgreSQL hanya menerima koneksi dari antarmuka lokal (localhost). Untuk mengizinkan akses jarak jauh, buka file /etc/postgresql/14/main/postgresql.conf, lalu ubah baris #listen_addresses = 'localhost' dengan menghapus tanda komentar (#) dan sesuaikan nilainya sebagaimana pada bagian CONNECTIONS and AUTHENTICATION.

  3. Langkah selanjutnya adalah mengonfigurasi server agar menerima koneksi dari jarak jauh. Hal ini dilakukan dengan mengedit file /etc/postgresql/14/main/pg_hba.conf. Silakan buka file tersebut untuk mulai mengatur akses.
    Di bagian ini, Anda dapat mengatur akses ke satu atau semua basis data serta menentukan pengguna mana yang diizinkan mengaksesnya melalui antarmuka tertentu. Untuk menggunakan autentikasi berbasis kata sandi, pilih metode scram-sha-256. Berikut ini beberapa contoh konfigurasi yang dapat Anda gunakan.

    Setelah selesai tekan Ctrl+x dan Y

Cara Mengakses PostgreSQL

  1. Akses PostgreSQL 
    sudo -i -u postgres

     

  2. Anda akan masuk ke shell PostgreSQL.

  3. Buat user dan database
    CREATE USER nama_user WITH PASSWORD 'password_user';
    CREATE DATABASE nama_db OWNER nama_user;
    GRANT ALL PRIVILEGES ON DATABASE nama_db TO nama_user;
    \q
    

Install pgAdmin4

  1. Install Dependensi 
    sudo apt install curl ca-certificates gnupg -y
    
  2. Tambahkan Repository pgAdmin
    curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/pgadmin-keyring.gpg
    echo "deb [signed-by=/usr/share/keyrings/pgadmin-keyring.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/jammy pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list
    
  3. Update dan Install pgAdmin 4
    sudo apt update
    sudo apt install pgadmin4-web -y
    
  4. Setup pgAdmin
    sudo /usr/pgadmin4/bin/setup-web.sh
    

    Ikuti instruksi, Masukkan email dan password untuk login ke pgAdmin, Konfirmasi jika ingin menjalankan Apache dan membuat konfigurasi otomatis

  5. Akses pgAdmin
    Buka browser dan akses http://IP-VPS-ANDA/pgadmin4 Login dengan email dan password yang tadi dibuat

  6. Setelah berhasil login klik Add New Server

  7. Pada bagian General isi name, kemudian klik Save 

  8. Pada bagian Connection isi Host name/address, username dan password database anda, kemudian klik Save

  9. Selesai

Akses PostgreSQL Remote dengan DBeaver

  1. Download DBeaver di https://dbeaver.io/download/ dan Install 
  2. Buka DBeaver, klik DatabaseNew Database Connection, pilih PostgreSQL -> klik Next 
  3. Isi Form
    1. Host: IP anda
    2. Port: 5432
    3. Database: nama database
    4. Username
    5. Password 
  4. Klik Test Connection, Download driver yang diperlukan

  5. Klik Finish 

  6. Selesai

Kesimpulan

Dengan konfigurasi yang benar di sisi server, dan penggunaan tools seperti DBeaver dan pgAdmin di sisi klien, anda bisa mengelola PostgreSQL secara remote dengan antarmuka GUI yang powerful dan nyaman. Ini sangat berguna untuk pengembangan aplikasi atau manajemen data skala besar.