Cara Install PostgreSQL dan pgAdmin di Ubuntu 24.04
Manajemen database relasional via command line seringkali memperlambat proses development dan debugging. Kombinasi PostgreSQL sebagai database engine dan pgAdmin sebagai antarmuka visual menyelesaikan masalah ini dengan menyediakan kontrol penuh atas schema, query, dan user privilege dari browser.
Requirementsโ
Sebelum memulai, pastikan server Anda memenuhi syarat berikut:
- Akses root atau user dengan hak akses sudo.
- RAM minimal 2GB (direkomendasikan 4GB jika menangani workload query berat).
- Firewall (UFW) dalam kondisi aktif namun mengizinkan trafik HTTP/HTTPS untuk akses web.
- Package manager
aptyang sudah diperbarui.
Lingkungan Pengujianโ
Dokumentasi ini disusun dan diuji pada lingkungan dengan spesifikasi berikut:
- Sistem Operasi: Ubuntu 24.04 LTS (Noble Numbat)
- PostgreSQL: Versi 16.14 (dari repositori default Ubuntu)
- pgAdmin 4: Versi 9.16 (dari repositori resmi pgAdmin)
- Web Server: Apache2 (sebagai host untuk pgAdmin web interface)
Panduan ini menggunakan Nusa Cloud VPS sebagai lingkungan pengujian, namun langkah-langkahnya berlaku secara universal untuk server Linux Ubuntu 24.04 mana pun.
Instalasi PostgreSQLโ
Ubuntu 24.04 secara default menyediakan PostgreSQL 16 dalam repositori utamanya. Ini memastikan stabilitas dan kompatibilitas sistem.
-
Perbarui indeks package sistem:
sudo apt-get update -
Install core package PostgreSQL beserta modul kontribusi yang menyediakan fitur tambahan seperti enkripsi dan fungsi UUID:
sudo apt-get install -y postgresql postgresql-contrib -
Service PostgreSQL akan berjalan secara otomatis setelah instalasi. Periksa status service:
sudo systemctl status postgresqlOutput yang diharapkan:
โ postgresql.service - PostgreSQL RDBMSLoaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)Active: active (running) since ...
Verifikasi Instalasi PostgreSQLโ
Pastikan CLI PostgreSQL merespons dengan versi yang tepat sesuai catatan versi upstream.
Jalankan perintah berikut:
psql --version
Output:
psql (PostgreSQL) 16.14 (Ubuntu 16.14-0ubuntu0.24.04.1)
Konfigurasi Password Defaultโ
Secara default, instalasi PostgreSQL membuat sistem user postgres yang tidak memiliki password untuk login database, melainkan menggunakan metode otentikasi peer. Untuk memungkinkan pgAdmin melakukan koneksi, kita harus menetapkan password.
-
Buka prompt PostgreSQL menggunakan akun
postgres:sudo -u postgres psql -
Ubah password untuk user
postgres(gantiPasswordKuat123dengan password aman pilihan Anda):ALTER USER postgres PASSWORD 'PasswordKuat123'; -
Keluar dari prompt psql:
\q
Instalasi pgAdmin 4โ
Paket pgAdmin 4 tidak tersedia dalam repositori default Ubuntu 24.04 versi LTS. Kita perlu menambahkan repositori resmi dari pgAdmin.
-
Install curl jika belum tersedia:
sudo apt-get install -y curl -
Download public key repositori pgAdmin dan konversi menjadi format keyring yang dikenali oleh
apt:curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg -
Buat file list repositori pgAdmin:
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/noble pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list' -
Update package agar memasukkan repositori yang baru ditambah:
sudo apt-get update -
Install pgAdmin 4 versi web. Proses ini juga akan menginstal Apache2 sebagai web server dependensi jika belum ada di sistem:
sudo apt-get install -y pgadmin4-web
Verifikasi Instalasi pgAdminโ
Validasi instalasi dengan mengecek ketersediaan paket di dalam sistem:
dpkg -l pgadmin4-web
Output:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-====================================
ii pgadmin4-web 9.16 all The web interface for pgAdmin...
Konfigurasi Web Interface pgAdminโ
Setelah paket terinstal, jalankan script setup yang disediakan oleh pgAdmin untuk mengatur akun login web dan mengonfigurasi Apache2.
-
Jalankan script setup web:
sudo /usr/pgadmin4/bin/setup-web.sh -
Anda akan diminta memasukkan email dan password untuk akun login administrator pgAdmin:
Setting up pgAdmin 4 in web mode on a Debian based platform...Creating configuration database...NOTE: Configuring authentication for SERVER mode.Enter the email address and password to use for the initial pgAdmin user account:Email address: admin@example.comPassword:Retype password: -
Setup kemudian meminta izin untuk mengonfigurasi Apache2:
The Apache web server is running and must be restarted for the pgAdmin 4 installation to complete. Continue (y/n)? yApache successfully restarted. You can now start using pgAdmin 4 in web mode at http://127.0.0.1/pgadmin4
Pengujian Fungsionalโ
Setelah instalasi dan konfigurasi berhasil, mari uji fungsionalitas dari ujung ke ujung.
- Buka browser dan arahkan ke alamat IP server Anda, diikuti dengan path
/pgadmin4. Contoh:http://ip-server-anda/pgadmin4. - Halaman login pgAdmin 4 akan muncul. Masukkan alamat email dan password yang telah Anda buat pada tahap konfigurasi web interface.
- Klik tombol Login.
- Di dashboard pgAdmin, klik Add New Server.
- Pada tab General, isi kolom Name (misalnya
PostgreSQL Lokal). - Pada tab Connection, isi data berikut:
- Host name/address:
127.0.0.1ataulocalhost - Port:
5432 - Maintenance database:
postgres - Username:
postgres - Password: Password yang Anda setel di psql sebelumnya.
- Host name/address:
- Klik Save.
- Server baru akan muncul di sidebar sebelah kiri. Klik panah di samping nama server untuk memastikan daftar database muncul tanpa error koneksi.
Troubleshootingโ
Berikut adalah masalah operasional yang sering terjadi saat menginstal PostgreSQL dan pgAdmin 4, beserta solusi praktisnya.
1. Peer Authentication Failed untuk User Postgresโ
Gejala:
Saat mencoba menambah server di pgAdmin menggunakan IP 127.0.0.1 atau localhost, muncul notifikasi error FATAL: peer authentication failed for user "postgres".
Penyebab:
PostgreSQL menggunakan metode otentikasi peer untuk koneksi lokal secara default, yang berarti nama user sistem operasi harus sama persis dengan nama user database. pgAdmin terhubung melalui koneksi TCP/IP yang membutuhkan metode autentikasi password seperti scram-sha-256.
Perbaikan:
Edit file konfigurasi pg_hba.conf. Letak file berada di /etc/postgresql/16/main/pg_hba.conf.
Buka file menggunakan text editor pilihan Anda:
# Menggunakan nano:
sudo nano /etc/postgresql/16/main/pg_hba.conf
# Menggunakan vim:
sudo vim /etc/postgresql/16/main/pg_hba.conf
Cari baris berikut:
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
Pastikan metodenya adalah scram-sha-256 (atau md5 pada versi lama). Jika tertulis peer, ubah menjadi scram-sha-256.
Restart service PostgreSQL:
sudo systemctl restart postgresql
2. Error 404 Not Found Saat Mengakses /pgadmin4โ
Gejala:
Browser menampilkan halaman "404 Not Found" atau halaman default Apache saat mengakses http://ip-server-anda/pgadmin4.
Penyebab: Script konfigurasi web pgAdmin gagal melakukan reload pada web server Apache2, atau modul WSGI belum diaktifkan.
Perbaikan: Verifikasi bahwa konfigurasi pgAdmin tersedia dan restart Apache secara manual.
sudo a2enconf pgadmin4
sudo systemctl restart apache2
3. GPG Error Signature Verification Failedโ
Gejala:
Saat menjalankan perintah sudo apt-get update, proses berhenti dengan pesan GPG error The following signatures couldn't be verified.
Penyebab: File keyring pgAdmin corrupt, belum terunduh dengan sempurna, atau sudah kadaluarsa dari sisi repositori upstream.
Perbaikan: Hapus file keyring yang ada, kemudian unduh ulang public key secara hati-hati.
โ ๏ธ Peringatan: Menghapus file di dalam
/usr/share/keyrings/berpotensi mengganggu repositori pihak ketiga lainnya. Pastikan Anda hanya menghapus file spesifik milik pgAdmin.
sudo rm -f /usr/share/keyrings/packages-pgadmin-org.gpg
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo apt-get update
Verifikasi Akhirโ
Untuk memastikan seluruh stack berjalan normal setelah melakukan troubleshooting, jalankan serangkaian verifikasi port dan service.
Cek port default PostgreSQL (5432):
ss -tlnp | grep 5432
Output menunjukkan proses postmaster sedang mendengarkan (listening).
Cek port default Apache2 (80):
ss -tlnp | grep 80
Output menunjukkan proses apache2 merespons trafik HTTP.
Kedua pengecekan ini mengonfirmasi sistem siap melayani query database lokal dan antarmuka kontrol melalui browser.
