Episode ini membahas sejarah lahirnya model data relasional dari Edgar F. Codd pada tahun 1970, evolusi PostgreSQL dari proyek Ingres di UC Berkeley hingga nama resminya, alasan mengapa PostgreSQL menjadi pilihan database modern, serta perbandingannya dengan MySQL, MariaDB, dan SQLite.

Selamat datang di episode 1 series Belajar SQL PostgreSQL! Pada episode 0, kita sudah menyiapkan seluruh environment: PostgreSQL server berjalan via Docker, psql siap dipakai, dan GUI client terpasang. Sekarang saatnya kita melangkah mundur sejenak untuk memahami kenapa database relasional ada, siapa yang menciptakannya, dan kenapa PostgreSQL menjadi pilihan yang begitu populer di dunia modern.
Pertanyaan "mengapa" ini bukan sekadar pengetahuan trivia. Ketika kalian memahami fondasi konseptualnya, keputusan desain di episode-episode selanjutnya — seperti kenapa data dinormalisasi, kenapa transaction punya sifat ACID, atau kenapa PostgreSQL memakai MVCC untuk concurrency — akan terasa logis dan natural. Sebaliknya, mempelajari SQL tanpa memahami fondasinya ibarat belajar mengetik cepat tanpa memahami arti kata yang kalian ketik.
Di episode ini, kita akan membahas sejarah panjang relational database dari paper Edgar F. Codd pada tahun 1970, evolusi PostgreSQL dari proyek Ingres di UC Berkeley hingga nama resmi yang kita kenal sekarang, alasan mengapa PostgreSQL pantas disebut sebagai database paling advanced di kelasnya, dan diakhiri dengan perbandingan objektif melawan MySQL, MariaDB, dan SQLite.
Sebelum tahun 1970-an, database tidak seperti yang kalian kenal sekarang. Data disimpan dalam model hierarki dan jaringan yang rumit, di mana programmer harus menavigasi pointer secara manual dari satu record ke record lainnya. Query yang sederhana pun bisa membutuhkan kode yang sangat panjang, dan mengubah struktur data berarti menulis ulang seluruh aplikasi.
Semua berubah ketika Edgar F. Codd, seorang peneliti IBM, menerbitkan paper monumental berjudul "A Relational Model of Data for Large Shared Data Banks" pada tahun 1970. Dalam paper tersebut, Codd mengusulkan sebuah cara pandang baru yang revolusioner:
Ide ini dulu dianggap terlalu teoritis dan lambat untuk hardware era tersebut. Namun seiring waktu, terbukti bahwa pendekatan relasional jauh lebih mudah dipahami, lebih fleksibel, dan lebih mudah dimaintain daripada model sebelumnya.
Tip
Istilah relational berasal dari kata relation (relasi), bukan relationship (hubungan antar tabel). Konsep ini bersumber dari teori matematika himpunan, di mana sebuah relasi adalah himpunan tuple yang memiliki atribut. Nama yang sedikit membingungkan inilah yang membuat banyak pemula mengira relational database artinya "database yang tabelnya saling berhubungan".
Setelah Codd mempublikasikan teorinya, IBM membangun prototipe bernama System R yang memperkenalkan bahasa query bernama SEQUEL (Structured English Query Language). Nama ini kemudian disingkat menjadi SQL (Structured Query Language) karena masalah trademark. Sistem komersial pertama seperti Oracle dan DB2 menyusul, dan pada tahun 1986-1987, ANSI dan ISO resmi menetapkan SQL sebagai standar internasional.
Sejak saat itu, standar SQL terus berkembang: SQL-92, SQL:1999, SQL:2003, hingga SQL:2016 yang memperkenalkan JSON functions. PostgreSQL dikenal sebagai salah satu database yang paling serius mengejar kepatuhan terhadap standar ini.
PostgreSQL tidak muncul dalam satu hari. Ia adalah hasil dari perjalanan penelitian yang panjang dan penuh iterasi, dimulai dari kampus Universitas Berkeley, California.
Kisah ini dimulai pada tahun 1986 ketika Michael Stonebraker dan timnya di UC Berkeley membangun sistem database bernama Postgres (kependekan dari Post-Ingres). Nama ini muncul karena Postgres dibangun setelah proyek sebelumnya yang bernama Ingres — dan Postgres sendiri dimaksudkan sebagai generasi penerus yang lebih advanced.
Perjalanannya bisa diringkas dalam tabel berikut:
| Tahun | Tonggak Sejarah |
|---|---|
| 1986 | Proyek Postgres dimulai di UC Berkeley oleh Michael Stonebraker |
| 1994 | Andrew Yu dan Jolly Chen menambahkan dukungan SQL ke Postgres |
| 1995 | Rilis sebagai Postgres95 |
| 1996 | Berganti nama menjadi PostgreSQL untuk menegaskan dukungan SQL |
| 1997 | PostgreSQL 6.0 rilis sebagai versi open source yang stabil |
| 2010 | PostgreSQL 9.x membawa replication dan hot standby |
| 2023 | PostgreSQL 16 hadir dengan logical replication yang lebih matang |
Nama "PostgreSQL" sendiri dipilih karena proyek sudah bukan lagi sekadar "post-Ingres" — ia sudah menjadi database dengan dukungan penuh SQL dan terus berevolusi. Masyarakat sering menyebutnya hanya "Postgres", dan keduanya benar secara resmi.
PostgreSQL dikembangkan oleh komunitas global melalui model open source project yang dikelola oleh organisasi bernama PostgreSQL Global Development Group. Tidak ada satu perusahaan pun yang memiliki PostgreSQL — hasilnya adalah database yang netral vendor, dikontrol komunitas, dan terus menerima kontribusi dari individu serta perusahaan besar seperti Amazon, Microsoft, dan Google.
Setelah memahami sejarah, sekarang pertanyaan praktisnya: mengapa PostgreSQL? Berikut alasan utama yang membuatnya menjadi database pilihan di dunia modern.
PostgreSQL terkenal sebagai database open source yang paling serius dengan ANSI SQL compliance. Banyak fitur standar yang didukung penuh — dari FULL OUTER JOIN, window functions, hingga FETCH FIRST n ROWS ONLY — sementara beberapa database lain masih menerapkan sintaks non-standar. Hasilnya: keterampilan SQL yang kalian pelajari di PostgreSQL mudah ditransfer ke database lain.
SELECT product_name, price
FROM products
ORDER BY price DESC
FETCH FIRST 5 ROWS ONLY;PostgreSQL menyediakan tipe data yang sangat kaya di luar standar: JSONB untuk dokumen semi-terstruktur, Array untuk daftar nilai, UUID untuk identitas global, HSTORE untuk key-value sederhana, hingga Range Types untuk rentang tanggal dan angka. Kita akan membedah JSONB dan Array secara mendalam di episode 8.
Salah satu kekuatan terbesar PostgreSQL adalah arsitekturnya yang bisa diperluas. Hampir semua hal bisa ditambahkan lewat extension: pgvector untuk AI embeddings dan similarity search, PostGIS untuk data geografis, hingga pg_cron untuk job scheduler di dalam database. Ekosistem extension inilah yang membuat PostgreSQL dijuluki "the database for everything".
PostgreSQL menangani banyak user yang mengakses data bersamaan lewat MVCC (Multi-Version Concurrency Control). Intinya, setiap transaction melihat snapshot data pada saat ia dimulai, sehingga pembaca tidak pernah diblokir oleh penulis dan penulis tidak pernah diblokir oleh pembaca. Ini adalah fondasi penting yang akan kita bedah tuntas di episode 11.
SELECT pg_backend_pid();Agar keputusan memilih PostgreSQL terasa objektif, mari bandingkan dengan database lain yang populer di ekosistem open source:
| Kriteria | PostgreSQL | MySQL / MariaDB | SQLite |
|---|---|---|---|
| Model lisensi | Open source, dikelola komunitas | Open source, MySQL dipegang Oracle | Public domain |
| Kepatuhan standar SQL | Paling ketat | Sebagian, banyak sintaks non-standar | Sebagian besar |
| JSON support | JSONB (binary, indexable) | JSON (teks, index terbatas) | JSON (teks) |
| Concurrency | MVCC, sangat baik | MVCC, cukup baik | Single-writer (file lock) |
| Replication | Physical + Logical, matang | Replication kuat (binlog) | Tidak ada |
| Tipe data kaya | JSONB, Array, Range, UUID | Terbatas | Terbatas |
| Kasus penggunaan | Aplikasi kompleks, data warehouse, geospasial, AI | Aplikasi web sederhana | Embedded, lokal, prototyping |
Kesimpulan objektifnya: MySQL unggul dalam kesederhanaan deployment dan ekosistem web tradisional (LAMP), SQLite unggul dalam embedded dan single-user, sedangkan PostgreSQL unggul dalam fitur, standar SQL, dan fleksibilitas untuk aplikasi yang kompleks dan scale besar. Inilah mengapa banyak perusahaan modern — dari startup hingga enterprise — menjadikan PostgreSQL sebagai database utama mereka.
Note
Perbandingan ini bukan untuk merendahkan database lain — setiap tool punya tempatnya masing-masing. Yang penting: kalian paham kapan PostgreSQL adalah pilihan yang tepat, dan series ini akan membekali kalian dengan keterampilan untuk memaksimalkannya.
Di episode 1 ini kita sudah meruntut perjalanan panjang database relasional: dari paper revolusioner Edgar F. Codd pada tahun 1970 yang memperkenalkan model relasional, standarisasi SQL oleh ANSI dan ISO, evolusi PostgreSQL dari proyek Ingres di UC Berkeley hingga menjadi database open source yang dikelola komunitas global, alasan-alasan mengapa PostgreSQL menjadi pilihan utama, hingga perbandingan objektif dengan MySQL, MariaDB, dan SQLite.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya, kita akan langsung membangun fondasi teknis pertama: konsep desain relasional, normalisasi data, dan Data Definition Language (DDL) — mulai dari Entity Relationship Diagram, Primary Key dan Foreign Key, prinsip normalisasi 1NF hingga BCNF, sampai perintah CREATE DATABASE dan CREATE TABLE. Siapkan psql kalian, karena episode berikutnya penuh dengan query yang bisa langsung dipraktikkan!