logo

PostgreSQL 18: Baru Saja Dirilis

Kecepatan Terobosan. Fitur-Fitur Baru yang Signifikan.

Kyle ChungKyle Chung

Kecepatan Revolusioner. Fitur Baru yang Signifikan.

PostgreSQL 18

Penantian telah berakhir. PostgreSQL Global Development Group telah secara resmi merilis PostgreSQL 18, melanjutkan tradisi mereka selama hampir satu dekade dalam menghadirkan pembaruan besar setiap musim gugur. Ini bukan sekadar pembaruan inkremental biasa; ini adalah rilis bersejarah yang dipenuhi dengan 202 fitur baru—peningkatan 25% dari tahun lalu.

Bagi para developer dan tim yang mengandalkan database paling dicintai di dunia, PostgreSQL 18 memenuhi tiga janji utama: performa revolusioner, alat baru yang andal dengan lebih sedikit kode, serta operasi yang lebih cerdas dan aman.

Mari kita bedah fitur-fitur yang akan memberikan dampak terbesar pada aplikasi Anda dan tunjukkan cara mulai menggunakannya di Zeabur hari ini.


Lompatan Kuantum dalam Performa: Asynchronous I/O

Fitur utama yang tak terbantahkan dari PostgreSQL 18 adalah subsistem asynchronous I/O (AIO) yang baru. Ini adalah peningkatan fundamental yang dirancang untuk mengatasi salah satu bottleneck performa terbesar dalam database mana pun: waktu yang dihabiskan untuk menunggu perpindahan data antara disk dan memori.

Masalah Lama: Sebelumnya, ketika Postgres membutuhkan data dari disk, ia sering kali harus berhenti dan menunggu operasi tersebut selesai sebelum bisa melakukan hal lain. Ini seperti menelepon dan harus menunggu di saluran telepon, membuang siklus CPU berharga yang seharusnya bisa digunakan untuk pekerjaan lain.

Solusi AIO: PostgreSQL 18 mengubah aturan main. Database kini dapat mengeluarkan beberapa permintaan I/O secara bersamaan dan terus memproses tugas lain secara paralel sementara disk bekerja. Sumber daya CPU tetap bebas, sehingga kueri dan operasi latar belakang dapat berjalan secara simultan.

Apa Artinya Ini untuk Anda: Blog dan benchmark awal menunjukkan peningkatan performa 2x hingga 3x untuk beban kerja yang berat I/O seperti sequential scan dan vacuum. Untuk aplikasi Anda, ini berarti:

  • Eksekusi Kueri Lebih Cepat: Aplikasi Anda terasa lebih responsif.
  • Throughput yang Lebih Baik: Pipeline analitik dan machine learning dapat memproses data lebih cepat.
  • Efisiensi Perangkat Keras yang Lebih Besar: Anda mendapatkan lebih banyak performa dari CPU yang ada tanpa mengubah satu baris pun kode aplikasi Anda.

Memberdayakan Developer: Lebih Andal, Lebih Sedikit Kode

Postgres 18 memperkenalkan beberapa fitur quality-of-life yang menyelesaikan perdebatan lama dan membuat pengembangan sehari-hari menjadi lebih mudah dan efisien.

1. Dukungan Asli UUIDv7

Perdebatan antara menggunakan SERIAL atau UUID untuk primary key hampir berakhir. PostgreSQL 18 memperkenalkan fungsi asli uuidv7().

  • Apa itu: Format UUID standar baru yang menyematkan timestamp.
  • Mengapa lebih baik: Tidak seperti UUIDv4 yang acak, nilai UUIDv7 tersusun secara alami. Ini secara dramatis meningkatkan performa indeks B-tree dan efisiensi cache, menghasilkan proses insert dan update yang lebih cepat tanpa pembengkakan indeks (index bloat) yang disebabkan oleh kunci acak.
-- Buat tabel menggunakan UUIDv7 sebagai primary key
CREATE TABLE orders (
    id UUID PRIMARY KEY DEFAULT uuidv7(),
    total DECIMAL(10,2),
    created_at TIMESTAMP DEFAULT NOW()
);

2. Virtual Generated Columns sebagai Default

Generated columns kini menjadi lebih cerdas. Di Postgres 18, kolom ini sekarang secara default menjadi VIRTUAL.

  • Apa itu: Nilai kolom dihitung secara dinamis saat dibaca (on the fly), bukan dihitung dan disimpan di disk saat ditulis.
  • Mengapa lebih baik: Ini menghemat ruang disk secara signifikan dengan menghilangkan data redundan dan mempercepat operasi INSERT serta UPDATE. Sangat cocok untuk data turunan, seperti menghitung annual_salary dari monthly_salary.
CREATE TABLE employees (
    salary DECIMAL(10,2),
    -- 'VIRTUAL' kini menjadi default, jadi tidak perlu kata kunci tambahan
    annual_salary DECIMAL(12,2) GENERATED ALWAYS AS (salary * 12)
);

3. Pengindeksan Lebih Cerdas dengan B-tree Skip Scan

Fitur ini menghilangkan batasan lama pada indeks multi-kolom. Sebelumnya, jika Anda memiliki indeks pada (region, category, sale_date), Anda hanya bisa menggunakannya secara efisien jika kueri Anda menyertakan kolom utama, yaitu region.

  • Apa itu: Dengan skip scan, Postgres dapat dengan cerdas "melewatkan" nilai-nilai unik di kolom awalan yang dihilangkan.
  • Mengapa lebih baik: Indeks multi-kolom Anda menjadi jauh lebih fleksibel. Anda sekarang dapat melakukan kueri berdasarkan category dan sale_date secara efisien bahkan tanpa memfilter berdasarkan region, membuat indeks yang ada menjadi lebih kuat untuk analitik dan pelaporan.

4. Mengakses Nilai OLD dan NEW di RETURNING

Klausa RETURNING telah ditingkatkan secara signifikan. Anda sekarang dapat mengakses nilai sebelum pembaruan (OLD) dan sesudah pembaruan (NEW) dalam satu pernyataan. Ini adalah kemenangan besar untuk membuat log audit atau menangani logika kompleks tanpa memerlukan trigger atau kueri tambahan.

-- Perbarui harga dan lihat nilai lama serta baru dalam satu kueri
UPDATE products
SET price = price * 1.10
WHERE name = 'Widget'
RETURNING
    name,
    old.price AS old_price,
    new.price AS new_price;

Operasi yang Lebih Cerdas & Aman

PostgreSQL 18 juga menyertakan fitur-fitur yang mengurangi beban operasional dan membantu Anda membangun sistem yang lebih tangguh.

  • Autentikasi OAuth 2.0 Bawaan: Kemenangan besar bagi perusahaan. Anda kini dapat mendelegasikan autentikasi ke penyedia identitas seperti Google, Auth0, atau Okta. Ini memusatkan manajemen kredensial dan memungkinkan aplikasi terhubung menggunakan access token daripada kata sandi.
  • Batasan Temporal (WITHOUT OVERLAPS): Anda sekarang dapat menerapkan integritas berbasis waktu di tingkat skema. Ini memastikan rentang waktu dalam tabel Anda tidak tumpang tindih secara tidak benar—sempurna untuk sistem penjadwalan, pemesanan, atau kontrak karyawan. Ini menjamin "batang" pada diagram Gantt Anda tidak akan pernah tumpang tindih jika tidak seharusnya.
  • Output EXPLAIN yang Ditingkatkan: Optimisasi kueri menjadi lebih mudah. Output EXPLAIN ANALYZE sekarang menyertakan informasi penggunaan buffer secara default, membantu Anda langsung menemukan masalah performa I/O yang sebelumnya mudah terlewatkan.

Terapkan PostgreSQL 18 di Zeabur Hari Ini

Mengetahui fitur-fitur ini memang bagus, tetapi menggunakannya jauh lebih baik. Kami sangat antusias mengumumkan bahwa PostgreSQL 18 tersedia untuk diterapkan di Zeabur hari ini.

Anda dapat membuat layanan PostgreSQL 18 baru yang terkonfigurasi penuh hanya dengan satu klik, menempatkan semua kekuatan baru ini—mulai dari Asynchronous I/O hingga UUIDv7 asli—langsung di ujung jari Anda. Rasakan sendiri kecepatan revolusioner dan fitur-fitur baru yang signifikan ini.

Terapkan PostgreSQL 18 Sekarang