Sebagai sistem basis data relasional open-source berbasis objek, popularitas PostgreSQL telah meningkat pesat dalam beberapa tahun terakhir. Postgres sebutannya, kini menjadi salah satu basis data yang paling banyak digunakan di seluruh dunia karena reputasinya yang kuat dalam hal performa, kehandalan, dan fitur.
Penjelasan mengenai PostgreSQL sudah saya terangkang di artikel saya sebelumnya yakni “Apa Itu PostgreSQL? Pengertian, Fitur dan Keunggulan”. Sekarang saya akan sharing mengenai cara install PostgreSQL 18 di Ubuntu 24.04 LTS Server.
Fitur-Fitur Utama PostgreSQL 18
Berikut ini merupakan fitur-fitur utama pada PostgreSQL versi 18 yang dirilis secara resmi pada 25 September 2025:
1.) Asynchronous I/O (AIO)
PostgreSQL 18 memperkenalkan subsistem I/O baru yang telah menunjukkan peningkatan performa secara signifikan hingga 3 kali lipat saat membaca dari storage. Ini menandai pergeseran arsitektur besar dari model I/O sinkron tradisional PostgreSQL.
Operasi AIO yang didukung meliputi sequential scan, bitmap heap scan, dan vacuum. Terdapat pengaturan baru yakni “io_method” yang memungkinkan pemilihan antara:
- worker – berbasis worker (semua platform)
- io_uring – khusus Linux
- sync – perilaku tradisional
2.) Dukungan Native UUIDv7
Sebelum PostgreSQL 18, pengguna bisa menggunakan tipe UUID native dengan UUID v4, namun ada penalti performa karena UUIDv4 tidak monotonis yang berdampak pada lokalitas indeks dan kompresi yang buruk. Masalah ini diselesaikan oleh native UUIDv7 yang dapat diurutkan (sortable) dan menyematkan waktu saat ini di awal.
3.) Virtual Generated Columns
PostgreSQL 18 memperkenalkan virtual generated columns. Sebelumnya, generated columns selalu disimpan di disk dengan nilai dihitung saat insert atau update, menambah sedikit overhead penulisan. Dengan kolom virtual, nilai dihitung saat waktu query, bukan saat penyimpanan.
4.) B-tree Skip Scan
Fitur ini memungkinkan PostgreSQL menggunakan indeks multikolom bahkan ketika kolom leading (terdepan) tidak disebutkan dalam query. Query planner akan memutuskan apakah skip scan layak digunakan berdasarkan statistik tabel dan jumlah nilai distinct pada kolom yang dilewati.
5.) Temporal Constraints (WITHOUT OVERLAPS)
PostgreSQL 18 meningkatkan use case temporal DB dengan mendukung klausa “WITHOUT OVERLAPS” untuk primary key dan unique constraints. Ini mendorong PostgreSQL lebih dekat ke kemampuan database temporal dengan menerapkan aturan temporal utama: untuk kunci bisnis yang sama, periode valid-time tidak boleh saling tumpang tindih.
6.) Keamanan yang Ditingkatkan
PostgreSQL 18 memperkenalkan dukungan autentikasi OAuth 2.0, memungkinkan integrasi dengan penyedia identitas modern. Autentikasi password MD5 kini sudah deprecated demi metode yang lebih aman yaitu SCRAM-SHA-256. Parameter “ssl_tls13_ciphers” baru memungkinkan kontrol lebih detail atas cipher suite TLS 1.3.
7.) Upgrade Major Version Lebih Mudah
Sebelum PostgreSQL 18, statistik planner tidak terbawa saat upgrade major version, yang bisa menyebabkan masalah performa setelah upgrade. PostgreSQL 18 memperbaiki hal ini dengan mempertahankan statistik tersebut, sehingga upgrade menjadi jauh lebih mulus.
8.) NOT NULL Constraint NOT VALID
PostgreSQL 18 memperkenalkan kemampuan menambahkan constraint “NOT NULL” sebagai “NOT VALID”. Fitur ini memungkinkan pengguna menambahkan constraint “NOT NULL” tanpa langsung memindai seluruh tabel, lalu memvalidasinya nanti tanpa harus menahan ACCESS EXCLUSIVE lock. Ini sangat berharga untuk tabel besar di mana penambahan constraint secara tradisional membutuhkan downtime yang signifikan.
9.) Statistik & Monitoring yang Lebih Baik
PostgreSQL 18 menambahkan informasi timing vacuum dan analyze langsung di “pg_stat_all_tables”, plus statistik per-backend untuk penggunaan I/O dan WAL. Logical replication kini mencatat konflik penulisan dan menampilkannya di “pg_stat_subscription_stats”.
Secara keseluruhan, PostgreSQL 18 adalah rilis yang sangat signifikan dengan lebih dari 3.000 commit, memperkenalkan perubahan arsitektur fundamental, optimasi performa, dan fitur developer yang sudah lama ditunggu.
Panduan Install PostgreSQL 18 di Ubuntu 24.04 LTS Server
PostgreSQL tersedia secara default di repositori resmi OS Ubuntu. Silahkan ikuti panduan berikut ini untuk menginstall database server PostgreSQL versi 18 di Ubuntu 24.04 LTS Server.
PREREQUISITES:
- Virtual Machine dengan OS Ubuntu 24.04 LTS (Noble Numbat)
- Hak Akses Root Penuh
- Familiar dengan Command-Line Interface (CLI) Linux
- Bisa mengoperasikan Terminal, Powershell, atau PuTTY
1.) Install Paket Dependency postgresql-common
$ sudo apt install postgresql-common -y
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libcommon-sense-perl libjson-perl libjson-xs-perl libtypes-serialiser-perl postgresql-client-common ssl-cert The following NEW packages will be installed: libcommon-sense-perl libjson-perl libjson-xs-perl libtypes-serialiser-perl postgresql-client-common postgresql-common ssl-cert 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. Need to get 413 kB of archives. After this operation, 1394 kB of additional disk space will be used.
2.) Eksekusi Skrip Repositori APT PostgreSQL
$ sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
This script will enable the PostgreSQL APT repository on apt.postgresql.org on your system. The distribution codename used will be noble-pgdg. Press Enter to continue, or Ctrl-C to abort. Using keyring /usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg Writing /etc/apt/sources.list.d/pgdg.sources ... Running apt-get update ...
3.) Install Paket Basis Data PostgreSQL
Kemudian jalankan command berikut ini untuk menginstall paket server basis data PostgreSQL.
$ sudo apt install -y postgresql
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libllvm19 libpq5 liburing2 postgresql-18 postgresql-18-jit postgresql-client-18 postgresql-client-common postgresql-common Suggested packages: libpq-oauth postgresql-doc postgresql-doc-18 The following NEW packages will be installed: libllvm19 libpq5 liburing2 postgresql postgresql-18 postgresql-18-jit postgresql-client-18 The following packages will be upgraded: postgresql-client-common postgresql-common 2 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. Need to get 48.7 MB of archives. After this operation, 202 MB of additional disk space will be used.
4.) Jalankan basis data server PostgreSQL
$ sudo systemctl start postgresql
5.) Cek dan Verifikasi Status PostgreSQL
$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled) Active: active (exited) since Sun 2026-04-12 13:48:16 UTC; 5min ago Main PID: 19097 (code=exited, status=0/SUCCESS) CPU: 17ms Apr 12 13:48:16 dev systemd[1]: Starting postgresql.service - PostgreSQL RDBMS... Apr 12 13:48:16 dev systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.
6.) Login ke PostgreSQL
Login ke server basis data PostgreSQL dengan menggunakan akun user postgres.
$ sudo -u postgres psql psql (18.3 (Ubuntu 18.3-1.pgdg24.04+1)) Type "help" for help.
7.) Modifikasi user default postgres dengan password yang lebih kuat
$ ALTER USER postgres WITH ENCRYPTED PASSWORD 'strong_password';
8.) Keluar dari console PostgreSQL
$ postgres=# \q
9.) Ubah Nilai Peer Default pada Field SCRAM-SHA-256
Jalankan perintah berikut untuk mengubah nilai peer default pada field SCRAM-SHA-256 pada file konfigurasi utama PostgreSQL 18 “pg_hba.conf” untuk mengaktifkan autentikasi password pada server.
$ sudo sed -i '/^local/s/peer/scram-sha-256/' /etc/postgresql/18/main/pg_hba.conf
10.) Restart PostgreSQL
Restart PostgreSQL server untuk apply perubahan konfigurasi baru tersebut
$ sudo systemctl restart postgresql
11.) Cek Versi PostgreSQL
$ psql --version psql (PostgreSQL) 18.3 (Ubuntu 18.3-1.pgdg24.04+1)





























