Hai, Sobat Jagoan! PostgreSQL adalah sistem manajemen basis data relasional yang dikenal karena ketangguhan, keandalan, dan kestabilannya. Berkat pengembangan open source selama lebih dari 30 tahun oleh komunitas global, PostgreSQL menjadi pilihan utama dalam berbagai skenario, mulai dari transaksi keuangan, lalu lintas situs berskala besar, hingga platform e-commerce. Tak hanya itu, PostgreSQL juga mendukung fungsi kustom yang ditulis dengan berbagai bahasa pemrograman seperti Java, Python, C/C++, dan lainnya.
Versi terbaru PostgreSQL 17 hadir dengan peningkatan performa yang signifikan, termasuk pengelolaan memori yang lebih baik, kemampuan baru dalam manipulasi data JSON, dan perbaikan besar dalam replikasi logis serta pemrosesan query paralel. Pada artikel ini, kamu akan dipandu untuk meng-install PostgreSQL 17 di AlmaLinux 9, lengkap dengan langkah-langkah teknis yang praktis dan mudah diikuti untuk pemula maupun administrator database yang baru belajar. Yuk, Sob kamu bisa langsung simak artikel di bawah ini untuk mulai instal PostgreSQL di AlmaLinux.
Pastikan kamu memiliki hosting VPS AlmaLinux aktif untuk mengikut artikel ini, Sob!
Step 1: Buat Koneksi SSH VPS
Pertama, buat koneksi SSH ke VPS kamu melalui terminal. Jika menggunakan sistem operasi Windows, kamu bisa menggunakan PuTTY.
Detail informasi awal layanan kamu bisa diakses pada Informasi Awal Layanan VM.
Step 2: Update Sistem
Sebelum mulai instalasi, update list package lama ke versi terbaru dulu.
sudo dnf update -y
Step 3: Instal PostgreSQL
Di AlmaLinux, terdapat paket PostgreSQL versi 15 dan 16 yang tersedia pada komponen AppStream. Kamu bisa melihatnya dengan perintah berikut.
sudo dnf module list posgresql
Output:

Tapi, artikel ini akan mendemonstrasikan instal PostgreSQL 17. Pertama, tambahkan repositori PostgreSQL.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Untuk menginstal PostgreSQL, disable dulu module default PostgreSQL.
sudo dnf -qy module disable postgresql
Output:

Kemudian, jalankan perintah berikut untuk memulai instalasi PostgreSQL 17.
sudo dnf install -y postgresql17-server
Output:

Step 4: Inisialisasi dan Memulai PostgreSQL 17
Sebelum menjalankan service PostgreSQL, inisialisasi database.
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
Perintah tersebut akan membuat data awal dan file konfigurasi utama yang akan ditulis pada direktori /var/lib/pgsql/17/data/postgresql.conf
Mulai jalankan service PostgreSQL dengan perintah di bawah ini.
sudo systemctl enable postgresql-17
sudo systemctl start postgresql-17
Setelah berhasil dijalankan, pastikan statusnya “active (running)”
sudo systemctl status postgresql-17
Output:
postgresql-17.service - PostgreSQL 17 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-17.service; enabled; pr>
Active: active (running) since Thu 2025-05-15 01:48:15 UTC; 8s ago
Docs: https://www.postgresql.org/docs/17/static/
Process: 63602 ExecStartPre=/usr/pgsql-17/bin/postgresql-17-check-db-dir ${>
Main PID: 63607 (postgres)
Tasks: 7 (limit: 4033)
Memory: 17.6M
CPU: 51ms
CGroup: /system.slice/postgresql-17.service
├─63607 /usr/pgsql-17/bin/postgres -D /var/lib/pgsql/17/data/
├─63608 "postgres: logger "
├─63609 "postgres: checkpointer "
├─63610 "postgres: background writer "
├─63612 "postgres: walwriter "
├─63613 "postgres: autovacuum launcher "
└─63614 "postgres: logical replication launcher "
May 15 01:48:14 tutorial.my.id systemd[1]: Starting PostgreSQL 17 data>
May 15 01:48:15 tutorial. my.id postgres[63607]: 2025-05-15 01:48:15.00>
May 15 01:48:15 tutorial. my.id postgres[63607]: 2025-05-15 01:48:15.00>
May 15 01:48:15 tutorial. my.id systemd[1]: Started PostgreSQL 17 database>
Step 5: Menggunakan PostgreSQL 17
Terdapat 2 cara untuk masuk ke console PostgreSQL versi 17.
- Langsung jalankan perintah psql dengan sudo
sudo -u postgres psql
Setelah berhasil login akan muncul prompt PostgreSQL seperti ini:

Kalau ingin mengakhiri sesi, jalankan:
exit
2. Login dulu sebagai user postgres, lalu jalankan psql
sudo -i -u postgres
Setelah login jalankan:
psql
Kamu akan masuk ke concole PostgreSQL seperti pada cara pertama.
Untuk keluar dari shell, jalankan:
\q
Lalu keluar dari console PostgreSQL dengan:
exit
Mengatur Password User postgres
Setelah masuk ke dalam PostgreSQL, jalankan:
ALTER USER postgres WITH PASSWORD 'StrongPassw0rd';
Perintah di atas akan mengatur password untuk user postgres, jangan lupa ganti ‘StrongPassw0rd’ dengan password kamu.
Uji login setelah ganti password dengan:
psql -U postgres -W
Membuat Database di PostgreSQL
Format membuat database baru di PostgreSQL seperti berikut.
CREATE DATABASE namadb;
Kalau ingin melihat daftar database:
\l
Membuat Tabel di PostgreSQL
Ketika akan membuat tabel dalam database, kamu perlu memilih database mana yang digunakan dengan command:
\c namadatabase
Misalnya setelah membuat database, kamu ingin membuat sebuah tabel bernama ‘employess’ dengan beberapa kolom.
CREATE TABLE Employees (
user_id serial PRIMARY KEY,
username VARCHAR (50) UNIQUE NOT NULL,
password VARCHAR (50) NOT NULL,
email VARCHAR (255) UNIQUE NOT NULL,
created_on TIMESTAMP NOT NULL,
last_login TIMESTAMP
);
Penjelasan kolom:
- user_id: Nomor ID otomatis (primary key)
- username: Harus unik dan tidak boleh kosong
- password: Tidak boleh kosong
- email: Harus unik dan tidak boleh kosong
- created_on: Tanggal pembuatan
- last_login: Boleh kosong (null)
Untuk melihat daftar tabel dalam database saat ini, gunakan query berikut.
\dt
Untuk menghapus tabel dari database, gunakan query:
DROP TABLE namatable;
Mengubah Port PostgreSQL
Jika kamu ingin merubah port PostgreSQL untuk alasan tertentu itu bisa dilakukan. Secara default, PostgreSQL berjalan menggunakan port 5432. Untuk memeriksa port yang digunakan saat ini gunakan perintah:
sudo netstat -nltp
Output:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 39999/sshd: /usr/sb
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 64171/postgres
tcp6 0 0 :::22 :::* LISTEN 39999/sshd: /usr/sb
tcp6 0 0 :::80 :::* LISTEN 51666/httpd
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 ::1:5432 :::* LISTEN 64171/postgres
tcp6 0 0 :::3306 :::* LISTEN 50196/mysqld
tcp6 0 0 :::33060 :::* LISTEN 50196/mysqld
Kalau belum instal paket netstat, jalankan command:
sudo dnf install net-tools
Untuk mengubah port, buka file konfigurasi postgresql.conf.
sudo vi /var/lib/pgsql/17/data/postgresql.conf
Cari baris: #port = 5432
Hapus tanda ‘#’ dan ubah menjadi:
port = 5436
5436 adalah port baru yang akan digunakan PostgreSQL.
Kemudian restart service PostgreSQL agar perubahan port terbaca. Setelah itu kamu bisa memeriksa kembali port PostgreSQLnya.
sudo systemctl restart postgresql-17
Catatan: Mengganti port PostgreSQL tidak boleh sembarangan ya, Sob. Ada aturan dan pertimbangan teknis yang perlu kamu tahu. Ada rentang angka port yang valid:
- Rentang 1-65535
- Tapi, 1-1023 disebut well-known ports: digunakan oleh protokol standar seperti 22 (SSH), 80 (HTTP), 443 (HTTPS), 25 (SMTP)
- 1024-49151 disebut registered ports: digunakan oleh aplikasi seperti PostgreSQL, MySQL dan lainnya.
- 49152-65535 disebut dynamic/private ports: biasanya aman untuk keperluan sendiri
Saran buat kamu, gunakan port di rentang 1024-65535 dan pastikan tidak dipakai oleh layanan lain. Atau kamu bisa pakai port aman yang bisa digunakan untuk PostgreSQL seperti, 5443, 5434, 5435, 5436, dan seterusnya. Kalau mau lebih aman gunakan port diatas 6000.
Mengaktifkan Akses PostgreSQL Remote
Supaya PostgreSQL kamu dapat terkoneksi ke server melalui jaringan sehingga bisa diakses melalui remote, kamu bisa melakukan perubahan pada konfigurasi dan mengatur listen address ke alamat ip server kamu.
sudo vi /var/lib/pgsql/17/data/postgresql.conf
Cari bagian listen_addressess dan tuliskan ip kamu.
listen_addresses = '192.168.156.53'
Kalau ingin menerima dari semua IP, pakai ‘0.0.0.0’, tapi ini kurang aman untuk server publik.
Selain itu, atur konfigurasi agar PostgreSQL menerima koneksi remote.
sudo vi /var/lib/pgsql/17/data/pg_hba.conf
Tambahkan baris di bawah ini untuk subnet tertentu (misal IP client 192.168.1.x):
host all all 192.168.1.0/24 md5

Kalau mau terima dari semua IP (tidak disarankan kecuali dikontrol firewall):
host all all 0.0.0.0/0 md5
Kamu perlu mengaktifkan firewall untuk mengijinkan port PostgreSQL. Untuk menjalankan perintah ini kamu perlu mengunduh paket perintah firewalld dulu ya, Sob.
sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
Perintah untuk menginstal dan mengaktifkan paket perintah firewalld.
sudo dnf install firewalld
sudo dnf enable firewalld
sudo dnf start firewalld
Terakhir, untuk menerapkan perubahan restart service database.
sudo systemctl restart postgresql-17
Kamu bisa coba membuat koneksi remote dengan menjalankan:
psql -U -h -p 5432
Contoh:
psql -U postgres -h 192.168.156.53 -p 5432 testdb
Troubleshooting
Ketika kamu mencoba masuk ke shell PostgreSQL dengan password lalu mendapat error:
psql: error: connection to server on socket “/run/postgresql/.s.PGSQL.5432” failed: FATAL: Peer authentication failed for user “postgres”
Artinya, PostgreSQL tidak menerima login kamu karena metode autentikasinya adalah “peer” jadi hanya user Linux yang sama dengn nama user PostgreSQL yang boleh login. Solusinya kamu perlu mengubah metode autentikasi dari peer ke md5 supaya bisa login pakai password.
sudo vi /var/lib/pgsql/17/data/pg_hba.conf
Cari baris:
local all all peer
Lalu ubah menjadi:
local all all md5
Kemudian, restart service PostgreSQL. Dan coba login ulang menggunakan password.
sudo systemctl restart postgresql-17
Setelah mengikuti artikel ini, kamu sudah berhasil meng-install PostgreSQL 17 di AlmaLinux dan siap menggunakannya untuk membangun aplikasi. Dengan berbagai fitur baru seperti SQL/JSON, peningkatan kinerja saat penulisan data dalam kondisi bersamaan, dan dukungan replikasi logis yang lebih baik, PostgreSQL menjadi pilihan tepat untuk skala kecil maupun enterprise. Kamu juga sudah mencoba membuat database serta user di PostgreSQL dan beberapa pengaturan sederhana lainnya. Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting ya, Sob!
Halo, Sob! AlmaLinux merupakan sebuah sistem operasi distribusi berbasis Red Hat Enterprise Linux (RHEL) yang stabil dan banyak digunakan di Read more
Hai, Sob! Apache HTTP Server (httpd) merupakan salah satu web server tertua dan paling banyak digunakan di dunia, terkenal karena Read more
Hai, Sobat Jagoan! Untuk meng-host situs web pada server kamu sendiri, kamu harus menginstal sebuah server web. Di antara yang Read more
Hai, Sob! Server database adalah inti dari banyak aplikasi web di Internet. Efisiensi sumber daya dan kinerjanya yang luar biasa Read more