Sebelum mengetik perintah SQL pertama, kita perlu tahu alat apa yang sedang kita pegang. PostgreSQL adalah sistem manajemen database open source yang menyimpan data dalam tabel-tabel berrelasi dan mengaksesnya lewat bahasa SQL. Pada chapter ini kita akan mengenal asal-usul PostgreSQL, ciri utama yang membedakannya dari database lain, dan cara memastikan versi PostgreSQL yang sedang kita jalankan.

Definisi Singkat #

PostgreSQL adalah relational database management system (RDBMS): server yang menyimpan data dalam format tabel (baris dan kolom), menjaga hubungan antar tabel, dan melayani permintaan data menggunakan bahasa SQL. Proyek ini dimulai tahun 1986 di Universitas California, Berkeley, oleh Michael Stonebraker dan timnya sebagai penerus database POSTGRES — itulah asal nama yang kita pakai sampai sekarang.

Berbeda dengan database yang lahir dari kebutuhan komersial, PostgreSQL tumbuh sebagai proyek komunitas tanpa perusahaan tunggal di belakangnya. Pengembangannya dikoordinasikan oleh PostgreSQL Global Development Group, dan sejak 1996 rilis besar keluar setiap tahun. Hasilnya adalah reputasi yang kokoh: PostgreSQL dikenal sebagai database yang jarang kehilangan data, patuh pada standar SQL, dan kaya fitur yang biasanya cuma ada di database komersial mahal.

Ciri Utama PostgreSQL #

CiriArtinya bagi kita
Open sourceLisensi PostgreSQL License yang longgar; bebas dipakai, dimodifikasi, dan didistribusikan
Kepatuhan standar SQLMendukung besar bagian standar SQL:ISO — kode kita tidak bergantung trik khusus
Tipe data kayaJSONB, array, range, UUID, hingga tipe geospasial lewat extension
ExtensibleFunction, tipe data, dan operator sendiri bisa ditambah tanpa mengubah inti server
MVCCPembaca tidak memblokir penulis; banyak pengguna bekerja bersamaan tanpa antre
ReliabilitasTransaksi dengan jaminan ACID dan point-in-time recovery bawaan

Dua istilah pada tabel di atas akan sering muncul sepanjang course ini. MVCC (Multi-Version Concurrency Control) adalah teknik PostgreSQL menyimpan beberapa versi baris supaya transaksi yang berjalan bersamaan tidak saling mengganggu — kita akan membedahnya di Section Transactions. Sementara jaminan ACID (Atomicity, Consistency, Isolation, Durability) adalah janji bahwa transaksi kita berlaku sepenuhnya atau tidak sama sekali.

PostgreSQL Sekilas dari Terminal #

Teori akan lebih melekat kalau langsung disentuh. Jika PostgreSQL sudah terpasang di komputer kita, perintah berikut memperlihatkan versi server dan query pertama kita — file SQL-nya bisa dijalankan langsung dengan psql:

sql kenalan.sql
SELECT version();

SELECT 'Halo, PostgreSQL!' AS sapaan,
       2 + 3 AS hasil_hitung;

Output yang Dihasilkan:

text
                                                       version                                                       
---------------------------------------------------------------------------------------------------------------------
 PostgreSQL 17.11 (Debian 17.11-0+deb13u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
(1 row)

      sapaan       | hasil_hitung 
-------------------+--------------
 Halo, PostgreSQL! |            5
(1 row)

Mari kita telaah isi file di atas:

  1. Baris 1 (SELECT version();): function version() adalah function bawaan yang mengembalikan teks versi lengkap server yang sedang kita hubungi — termasuk nomor rilis dan kompiler yang dipakai membangunnya.
  2. Baris 3-4 (SELECT 'Halo...' AS ...): SELECT tanpa FROM mengevaluasi ekspresi begitu saja. Alias AS sapaan memberi nama kolom pada hasil, sehingga output terbaca seperti tabel kecil.

Output dari version() pada materi ini ditulis saat pengujian dengan PostgreSQL 17. Kalau kita menjalankan query yang sama, angka versi kecilnya bisa berbeda sesuai rilis yang terpasang — struktur keluarannya tetap sama.

Posisi PostgreSQL Hari Ini #

PostgreSQL bukan pemain baru — usianya sudah lebih dari tiga dekade — tetapi adopsinya justru terus naik. Saat materi ini ditulis, PostgreSQL 18 adalah rilis besar terbaru, sementara rilis besar 16 dan 17 masih dipakai luas di produksi dan terus menerima perbaikan kecil berkala. Course ini menguji seluruh contoh kodenya pada PostgreSQL 17, versi yang stabil dan banyak dipakai; perbedaan perilaku antar versi besar akan selalu ditandai saat muncul.

Karena dikelola komunitas, PostgreSQL tidak punya agenda khusus menjual layanan tertentu. Fitur ditambahkan karena dibutuhkan penggunanya, dan setiap rilis besar membawa peningkatan performa yang nyata. Untuk pembelajar, artinya apa yang kita pelajari di sini akan tetap relevan lama, dan kebiasaan membaca dokumentasi resmi akan selalu menjadi kunci mengikuti perkembangannya.

Dengan gambaran apa itu PostgreSQL, pertanyaan berikutnya adalah bagaimana database relational bekerja — tabel, baris, kolom, dan relasi yang menjadi fondasi seluruh materi ini. Itu topik chapter PostgreSQL dan Relational Database.

Referensi #

Berkas Sumber

Berkas pendukung halaman ini dapat diunduh dan dijalankan langsung sesuai penjelasan di atas.

kenalan.sql

Unduh berkas
sql
SELECT version();

SELECT 'Halo, PostgreSQL!' AS sapaan,
       2 + 3 AS hasil_hitung;