Szeto Consultants

Minta Pencerahan: Cara Koneksi PostgreSQL Odoo di AWS ke PgAdmin

Minta Pencerahan: Cara Koneksi PostgreSQL Odoo di AWS ke PgAdmin

Diposting pada 03 Jun 2026, 00:43
Ditanyakan oleh: Arif

Halo rekan-rekan praktisi IT Odoo se-Indonesia!

Saya Arif, kebetulan di kantor kami pakai Odoo ERP yang database PostgreSQL-nya running di AWS. Selama ini untuk maintenance sederhana atau cek data, saya biasanya akses via SSH saja. Tapi sekarang ada kebutuhan untuk administrasi database yang lebih intensif, seperti monitoring performa, eksekusi query kompleks, atau manajemen user, yang rasanya akan jauh lebih efisien kalau pakai PgAdmin dari komputer lokal saya.

Saya sudah coba-coba cari tahu, sepertinya ada beberapa konfigurasi yang perlu diperhatikan, mulai dari setting di AWS (misalnya Security Group dan Inbound Rules untuk port PostgreSQL), lalu credential PostgreSQL-nya sendiri, dan mungkin juga aspek firewall di sisi lokal. Jujur agak bingung mau mulai dari mana yang paling aman dan best practice.

Mohon pencerahannya dong dari teman-teman yang sudah punya pengalaman, langkah-langkah apa saja yang perlu saya lakukan dan perhatikan agar PostgreSQL database Odoo di AWS ini bisa saya akses dengan lancar dan aman dari aplikasi PgAdmin di laptop saya? Adakah tips atau trik khusus yang perlu saya tahu?

Terima kasih banyak atas bantuannya!

Balasan (1)

Admin Odoo ForumAdmin & AI Support03 Jun 2026, 00:43
Halo Mas Arif!

Wah, ini pertanyaan yang sering banget muncul nih di komunitas, karena memang kebutuhan akses database secara GUI kayak pakai PgAdmin itu bikin kerjaan administrasi jadi jauh lebih nyaman dan efisien. Apalagi untuk monitoring atau query kompleks, setuju banget!

Tenang Mas, saya akan coba bantu kasih pencerahan langkah-langkahnya secara bertahap dan tentunya yang aman ya. Ini dia hal-hal yang perlu Mas Arif perhatikan dan lakukan:



### 1. Konfigurasi di Sisi AWS (Security Group)

Ini adalah gerbang pertama yang harus dibuka. Security Group di AWS berfungsi sebagai virtual firewall yang mengontrol traffic masuk (inbound) dan keluar (outbound) dari instance EC2 (kalau Odoo dan PostgreSQL Mas Arif ada di EC2) atau RDS (kalau pakai layanan database terkelola).

Masuk ke konsol AWS Mas Arif.
Navigasi ke layanan EC2 atau RDS, tergantung di mana PostgreSQL Mas Arif berjalan.
Temukan Security Group yang terkait dengan instance PostgreSQL Mas Arif. Jika Mas Arif tidak yakin, bisa cek di detail instance Odoo/PostgreSQL, biasanya ada informasi Security Group yang digunakan.
Pilih Security Group tersebut, lalu masuk ke tab Inbound Rules.
Klik Edit Inbound Rules.
Tambahkan aturan baru (Add rule) dengan konfigurasi berikut:
Type: Pilih PostgreSQL (portnya otomatis akan jadi 5432).
Source: Nah, ini bagian paling krusial untuk keamanan.
Sangat Disarankan: Pilih My IP atau masukkan IP publik laptop Mas Arif secara spesifik (misalnya XXX.XXX.XXX.XXX/32). Ini paling aman karena hanya laptop Mas Arif saja yang bisa mengakses.
Hindari untuk Produksi: Anywhere (0.0.0.0/0). Ini akan membuka akses dari seluruh dunia dan sangat tidak disarankan untuk lingkungan produksi karena berisiko tinggi. Gunakan ini hanya untuk testing singkat dan segera ubah ke IP spesifik setelahnya.
Jangan lupa Save Rules.



### 2. Konfigurasi PostgreSQL (`pg_hba.conf`)

Setelah gerbang AWS terbuka, sekarang kita harus memberitahu PostgreSQL bahwa ada koneksi yang diizinkan dari IP Mas Arif. File `pg_hba.conf` adalah file konfigurasi otentikasi klien PostgreSQL.

Akses server PostgreSQL Mas Arif via SSH seperti yang biasa Mas Arif lakukan.
Cari file `pg_hba.conf`. Lokasinya bervariasi tergantung instalasi, tapi umumnya ada di dalam direktori data PostgreSQL (misalnya /etc/postgresql/XX/main/pg_hba.conf atau /var/lib/postgresql/XX/main/pg_hba.conf, di mana XX adalah versi PostgreSQL).
Edit file tersebut (misalnya pakai `sudo nano /path/to/pg_hba.conf`).
Tambahkan baris berikut di bagian akhir file:
host    all    all    XXX.XXX.XXX.XXX/32    md5

Ganti XXX.XXX.XXX.XXX/32 dengan IP publik laptop Mas Arif yang sama dengan yang di Security Group AWS.
`md5` berarti otentikasi akan menggunakan password terenkripsi MD5. Mas Arif juga bisa menggunakan scram-sha-256 untuk keamanan yang lebih baik jika versi PostgreSQL Mas Arif mendukungnya dan Mas Arif sudah mengkonfigurasinya.
Untuk tujuan debugging awal, kadang orang menggunakan trust, tapi jangan pernah gunakan ini di produksi karena tidak memerlukan password.
Simpan perubahan pada file `pg_hba.conf`.
Restart service PostgreSQL agar perubahan konfigurasi diterapkan. Perintahnya bisa bervariasi, tapi umumnya seperti ini:
sudo service postgresql restart

Atau:
sudo systemctl restart postgresql




### 3. Cek User dan Password PostgreSQL

Pastikan Mas Arif punya user dan password PostgreSQL yang benar. Kalau Mas Arif berencana untuk monitoring saja, sebaiknya buat user khusus dengan hak akses baca (read-only) saja untuk menghindari risiko perubahan data yang tidak disengaja.

Masuk ke psql:
psql -U postgres

Buat user baru (jika perlu):
CREATE USER pgadmin_user WITH PASSWORD 'strong_password';

Berikan hak akses ke database Odoo Mas Arif:
GRANT CONNECT ON DATABASE your_odoo_database TO pgadmin_user;

GRANT SELECT ON ALL TABLES IN SCHEMA public TO pgadmin_user;

ALTER DEFAULT PRIVILEGES FOR USER pgadmin_user IN SCHEMA public GRANT SELECT ON TABLES TO pgadmin_user;

(Sesuaikan hak akses ini dengan kebutuhan Mas Arif. Untuk administrasi penuh, mungkin perlu `ALL PRIVILEGES` tapi hati-hati ya!)
Keluar dari psql.



### 4. Konfigurasi Firewall Lokal (Laptop Mas Arif)

Ini adalah langkah terakhir, memastikan firewall di laptop Mas Arif tidak memblokir koneksi keluar (outbound) ke port 5432.

Pastikan firewall di Windows Defender, macOS, atau firewall lain yang Mas Arif gunakan tidak memblokir koneksi TCP outbound ke port 5432. Umumnya, firewall lokal secara default mengizinkan koneksi keluar, jadi ini mungkin tidak perlu diubah, tapi ada baiknya dicek jika nanti ada masalah koneksi.



### 5. Sambungkan via PgAdmin

Sekarang saatnya buka PgAdmin di laptop Mas Arif!

Buka aplikasi PgAdmin.
Klik Add New Server atau Register New Server.
Pada tab General:
Name: Beri nama koneksi ini (misalnya "Odoo AWS DB").
Pada tab Connection:
Host name/address: Masukkan Public IP address dari instance AWS Mas Arif (tempat PostgreSQL berjalan) atau RDS endpoint jika Mas Arif menggunakan RDS.
Port: 5432
Maintenance database: postgres (ini database default untuk administrasi) atau bisa juga langsung nama database Odoo Mas Arif.
Username: Masukkan username PostgreSQL yang Mas Arif gunakan (misalnya `odoo` atau `pgadmin_user`).
Password: Masukkan password untuk username tersebut.
Pada tab SSL:
SSL mode: Sangat disarankan untuk menggunakan Require atau Prefer agar koneksi terenkripsi, mengingat ini adalah koneksi melalui internet publik.

Klik Save. Jika semua konfigurasi benar, PgAdmin akan berhasil terhubung ke database PostgreSQL Odoo Mas Arif di AWS!



### Tips dan Trik Khusus:

Selalu Gunakan IP Spesifik: Sekali lagi ditekankan, selalu batasi akses di Security Group AWS dan `pg_hba.conf` ke IP publik laptop Mas Arif saja. Jangan pernah pakai `0.0.0.0/0` untuk produksi.
SSL/TLS: Pastikan koneksi Mas Arif terenkripsi (SSL mode di PgAdmin `Require` atau `Prefer`). Ini penting untuk menjaga keamanan data saat transit.
User dengan Hak Akses Minimal: Untuk keperluan monitoring atau administrasi harian, buat user khusus dengan hak akses yang paling minim yang dibutuhkan. Jangan gunakan user `postgres` dengan password super kuat dari luar jika tidak benar-benar diperlukan.
Bastion Host / VPN: Untuk keamanan yang lebih tinggi di lingkungan produksi, pertimbangkan untuk mengakses database melalui Bastion Host (server perantara di VPC AWS yang hanya mengizinkan SSH) atau melalui koneksi VPN ke VPC AWS Mas Arif. Ini akan menyembunyikan database dari internet publik sepenuhnya.
Backup: Sebelum melakukan perubahan besar pada konfigurasi database atau server, selalu pastikan Mas Arif punya backup yang valid ya!

Semoga pencerahan ini membantu Mas Arif untuk bisa terhubung ke database Odoo di AWS dengan aman dan lancar via PgAdmin! Kalau ada kendala di salah satu langkah, jangan ragu bertanya lagi ya. Selamat mencoba!

Berikan Tanggapan

⚠️ Anti-Spam Aktif: Dilarang menyertakan tautan/URL di dalam form ini.
Butuh Konsultasi Odoo? 👋
Scroll to Top