Materi belajar database tidak akan lengkap kalau kita hanya membaca teori; kita membutuhkan server PostgreSQL yang benar-benar berjalan di komputer sendiri. PostgreSQL tersedia gratis untuk Linux, macOS, dan Windows, tetapi cara memasangnya berbeda di tiap sistem operasi. Pada chapter ini kita akan memasang PostgreSQL 17, mengenal perbedaan rilis major dan minor, lalu memverifikasi bahwa client dan server berfungsi dengan query pertama.

Memilih Versi PostgreSQL #

Sebelum mengunduh, ada baiknya kita memahami cara PostgreSQL memberi nomor versinya. PostgreSQL menerbitkan satu rilis major baru setiap tahun — PostgreSQL 17, PostgreSQL 18, begitu seterusnya — dan rilis minor berkala untuk perbaikan bug (misalnya 17.11). Course ini menguji seluruh contoh kodenya pada PostgreSQL 17, versi yang stabil dan masih sangat banyak dipakai di produksi, jadi sebaiknya kita memasang major 17 atau lebih baru.

Jenis rilisIsi perubahanContohKapan dipilih
MajorFitur baru, perubahan perilaku, peningkatan performa17, 18Sekali di awal proyek; upgrade butuh perencanaan
MinorPerbaikan bug dan keamanan, tanpa fitur baru17.11Selalu gunakan minor terbaru dari major yang sama

Pembaruan minor aman dijalankan tanpa mengubah aplikasi, karena komunitas PostgreSQL menjaga kompatibilitasnya. Karena itu versi minor yang tampil di komputer kita boleh saja lebih tinggi daripada 17.11 yang dipakai saat materi ini diuji.

Memasang PostgreSQL #

Paket instalasi PostgreSQL selalu membawa dua kelompok komponen sekaligus: server (daemon yang menyimpan dan memproses data) dan client, termasuk psql yang akan menjadi alat utama kita sepanjang course ini. Pilih subbab sesuai sistem operasi yang Anda pakai.

1. Ubuntu / Debian #

Distribusi Linux berbasis Debian menyediakan PostgreSQL di repositori resmi lewat paket postgresql:

bash
sudo apt update
sudo apt install postgresql

Proses instalasi otomatis melakukan tiga hal: memasang server dan client, membuat cluster pertama beserta data directory-nya, lalu menjalankan layanan postgresql di background. Instalasi ini juga membuat role superuser bernama postgres dan satu database bernama postgres. Versi yang dipasang bergantung pada rilis distribusi; kalau kita butuh versi yang lebih baru dari milik repositori, komunitas PostgreSQL menyediakan repositori paket resmi (PGDG) untuk sejumlah distribusi Linux.

Setelah instalasi selesai, layanan bisa diperiksa dengan perintah berikut:

bash
systemctl status postgresql

Untuk masuk ke psql sebagai superuser bawaan, pengguna Ubuntu cukup menjalankan sudo -u postgres psql karena metode autentikasi bawaannya memetakan user sistem operasi ke role database dengan nama yang sama.

2. macOS #

Cara paling umum memasang PostgreSQL di macOS adalah lewat Homebrew. Jika Homebrew belum terpasang, pasang dulu dari situs resminya, lalu jalankan:

bash
brew update
brew install postgresql@17
brew services start postgresql@17

Formula postgresql@17 memasang PostgreSQL 17 tanpa mengganggu versi lain yang mungkin sudah ada di komputer. Perintah brew services start menjalankan server secara otomatis di background dan akan dinyalakan ulang setiap komputer dinyalakan. Berbeda dengan Linux, instalasi Homebrew tidak membuat role postgres; superuser bawaannya adalah role dengan nama yang sama dengan akun macOS kita, jadi cukup jalankan psql polos untuk masuk.

Formula berakhiran @17 bersifat keg-only, artinya perintah psql-nya tidak otomatis berada di PATH. Jika terminal menampilkan command not found setelah instalasi, ikuti petunjuk caveats yang Homebrew tampilkan di akhir proses instalasi — biasanya berupa satu baris export PATH yang perlu ditambahkan ke berkas profil shell kita.

3. Windows #

Untuk Windows, paket instalasi grafis resmi dibundel oleh EDB (EnterpriseDB), salah satu perusahaan kontributor PostgreSQL. Prosesnya berlangsung lewat wizard dengan langkah-langkah berikut:

  1. Unduh installer PostgreSQL 17 untuk Windows dari halaman unduhan resmi PostgreSQL (tautan Windows di halaman itu mengarah ke situs EDB).
  2. Jalankan berkas installer yang telah diunduh, lalu pilih direktori instalasi.
  3. Pilih komponen yang ingin dipasang: PostgreSQL Server, pgAdmin 4 (antarmuka grafis yang kita bahas di chapter Menggunakan pgAdmin), Stack Builder, dan Command Line Tools yang berisi psql.
  4. Tentukan lokasi data directory — biarkan nilai bawaannya kecuali ada alasan khusus.
  5. Buat kata sandi untuk superuser postgres. Kotak isian ini hanya muncul sekali saat instalasi.
  6. Konfirmasi port (bawaannya 5432) dan locale, lalu selesaikan wizard.

Setelah proses selesai, PostgreSQL berjalan sebagai layanan Windows dan dapat diakses melalui menu SQL Shell (psql) di Start Menu. Installer juga menambahkan direktori bin ke PATH, sehingga psql bisa dipanggil dari Command Prompt atau PowerShell.

Menjalankan dan Menghentikan Layanan #

PostgreSQL server berjalan sebagai layanan background, bukan program yang kita buka seperti aplikasi biasa. Tabel berikut merangkum cara mengelolanya di tiap sistem operasi:

Sistem operasiMenyalakanMematikanMemeriksa status
Ubuntu / Debiansudo systemctl start postgresqlsudo systemctl stop postgresqlsystemctl status postgresql
macOSbrew services start postgresql@17brew services stop postgresql@17brew services list
WindowsServices → postgresql-x64-17 → StartServices → StopServices → Status kolom

Sebagai pemeriksaan cepat tanpa perlu login, PostgreSQL juga menyediakan perintah pg_isready yang hanya melaporkan apakah server menerima koneksi atau tidak. Pada chapter Konfigurasi Koneksi kita akan memakainya di dalam skrip.

Memverifikasi Instalasi #

Instalasi yang berhasil perlu dibuktikan dua arah: perintah psql harus dikenali oleh shell (artinya client terpasang), dan server harus bisa menjawab query (artinya server hidup). Skrip berikut memeriksa keduanya:

bash cek-versi.sh
# Versi client psql yang terpasang di komputer kita
psql --version

# Versi server yang sedang berjalan saat ini
psql -X -c "SHOW server_version;"

Output yang Dihasilkan:

text
psql (PostgreSQL) 17.11 (Debian 17.11-0+deb13u1)
         server_version         
--------------------------------
 17.11 (Debian 17.11-0+deb13u1)
(1 row)

Mari kita bedah kedua perintah di skrip tersebut:

  1. psql --version: memeriksa versi program client tanpa membuka koneksi ke server sama sekali, jadi perintah ini tetap berhasil walau server sedang mati.
  2. psql -X -c "SHOW server_version;": membuka koneksi sungguhan lalu menjalankan satu perintah SQL. Flag -X mencegah psql membaca file konfigurasi pribadi pengguna, sedangkan -c menjalankan perintah lalu keluar — pola yang akan sering kita pakai di chapter Menggunakan psql.

Langkah verifikasi terakhir adalah bertanya langsung kepada server: function version() melaporkan versi lengkap beserta sistem operasi dan kompiler yang dipakai membangunnya, sementara current_user memperlihatkan role yang kita pakai untuk masuk:

sql verifikasi.sql
SELECT version();

SELECT current_user;

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)

 current_user 
--------------
 postgres
(1 row)

Jika kedua pemeriksaan ini berhasil, kita sudah memiliki server yang hidup dan alat untuk mengajaknya bicara. Server tersebut membawa puluhan pengaturan yang mengatur perilakunya — mulai dari memori per query hingga jumlah koneksi yang ditampung — dan itulah bahan chapter berikutnya: Konfigurasi PostgreSQL Server.

Referensi #

Berkas Sumber

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

cek-versi.sh

Unduh berkas
bash
# Versi client psql yang terpasang di komputer kita
psql --version

# Versi server yang sedang berjalan saat ini
psql -X -c "SHOW server_version;"

verifikasi.sql

Unduh berkas
sql
SELECT version();

SELECT current_user;