Cara Install PostgreSQL Menggunakan Source Code di Linux


PostgreSQL, sebuah sistem manajemen basis data relasional sumber terbuka, terkenal karena fitur-fiturnya yang canggih dan dapat diperluas. Meskipun banyak distribusi Linux menyediakan PostgreSQL melalui manajer paketnya, menginstalnya dari sumber memungkinkan penyesuaian dan kontrol yang lebih besar.

Pada artikel ini, kami akan menjelaskan cara menginstal PostgreSQL 16 menggunakan instalasi kode sumber pada sistem Linux.

Bagi mereka yang mencari metode instalasi yang lebih mudah dari manajer paket distribusi, silakan ikuti panduan di bawah ini:

Prasyarat

Sebelum mendalami proses instalasi PostgreSQL, pastikan sistem Anda memenuhi prasyarat berikut:

  • Distribusi Linux (dalam panduan ini, kami akan menggunakan Debian untuk tujuan demonstrasi).
  • Sistem Linux dengan pengguna non-root dengan hak sudo.
  • Alat pengembangan penting seperti GCC dan Make telah diinstal.

1. Instal Prasyarat di Linux

Pertama, instal alat pengembangan penting seperti GCC dan Make menggunakan manajer paket distribusi seperti yang ditunjukkan.

Pada distribusi berbasis RHEL seperti CentOS, Fedora, Rocky Linux dan Alma Linux:

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

Pada distribusi berbasis Debian seperti Ubuntu dan Linux Mint.

sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config

2. Unduh Kode Sumber PostgreSQL

Setelah prasyarat yang diperlukan diinstal, unduh file tar kode sumber dari situs web resmi postgres menggunakan perintah wget berikut langsung di sistem. Pada saat penulisan, versi terbaru adalah PostgreSQL 16.1.

wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Selanjutnya gunakan perintah tar untuk mengekstrak file tarball yang diunduh. Direktori baru bernama postgresql-16.1 akan dibuat.

tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l

Contoh Keluaran:

-rw-r--r--.  1 tecmint tecmint    365 Nov  7 03:34 aclocal.m4
drwxr-xr-x.  2 tecmint tecmint   4096 Nov  7 03:47 config
-rwxr-xr-x.  1 tecmint tecmint 584560 Nov  7 03:34 configure
-rw-r--r--.  1 tecmint tecmint  87292 Nov  7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint   4096 Nov  7 03:47 contrib
-rw-r--r--.  1 tecmint tecmint   1192 Nov  7 03:34 COPYRIGHT
drwxr-xr-x.  3 tecmint tecmint   4096 Nov  7 03:47 doc
-rw-r--r--.  1 tecmint tecmint   4288 Nov  7 03:34 GNUmakefile.in
-rw-r--r--.  1 tecmint tecmint    277 Nov  7 03:34 HISTORY
-rw-r--r--.  1 tecmint tecmint  64601 Nov  7 03:48 INSTALL
-rw-r--r--.  1 tecmint tecmint   1875 Nov  7 03:34 Makefile
-rw-r--r--.  1 tecmint tecmint 102017 Nov  7 03:47 meson.build
-rw-r--r--.  1 tecmint tecmint   6266 Nov  7 03:34 meson_options.txt
-rw-r--r--.  1 tecmint tecmint   1213 Nov  7 03:34 README
drwxr-xr-x. 16 tecmint tecmint   4096 Nov  7 03:48 src

3. Konfigurasikan PostgreSQL dari Sumber

Karena postgres adalah database sumber terbuka, maka database dapat dibuat dari kode sumber sesuai dengan kebutuhan/kebutuhan seseorang. kami dapat menyesuaikan proses pembuatan dan pemasangan dengan menyediakan satu atau beberapa opsi baris perintah untuk berbagai fitur tambahan.

Gunakan perintah berikut untuk bantuan dengan berbagai opsi dan penggunaan konfigurasi, seperti yang ditunjukkan.

./configure --help

Sekarang jalankan skrip konfigurasi, yang akan memeriksa dependensi sistem Anda dan mengonfigurasi build yang sesuai.

./configure

4. Instal PostgreSQL dari Sumber

Setelah dikonfigurasi, gunakan perintah berikut untuk membangun dan menginstal PostgreSQL dari sumbernya.

make
sudo make install

5. Membuat Pengguna Postgres

Sekarang buat pengguna dan direktori postgres untuk digunakan sebagai direktori data untuk menginisialisasi cluster database. Pemilik direktori data ini haruslah pengguna postgres dan izinnya harus 700 dan juga menetapkan jalur untuk binari postgresql demi kemudahan kita.

sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh 

6. Inisialisasi Database Postgres

Sekarang inisialisasi database menggunakan perintah berikut sebagai pengguna postgres sebelum menggunakan perintah postgres apa pun.

su postgres
initdb -D /pgdatabase/data/ -U postgres -W

Dimana -D adalah lokasi cluster database ini atau bisa dikatakan direktori data dimana kita ingin menginisialisasi cluster database, -U untuk nama superuser database dan -W untuk permintaan kata sandi untuk pengguna super db.

Untuk info dan opsi lebih lanjut, kita dapat merujuk ke initdb --help.

7. Mulai Layanan PostgreSQL

Setelah menginisialisasi database, mulai cluster database, atau jika Anda perlu mengubah port atau mendengarkan alamat server, edit file /pgdatabase/data/postgresql.conf di direktori data server basis data.

nano /pgdatabase/data/postgresql.conf

Sekarang, mulai layanan PostgreSQL.

pg_ctl -D /pgdatabase/data/ start

Setelah memulai database, verifikasi status proses server postgres dengan menggunakan perintah ps dan netstat berikut.

ps -ef |grep -i postgres
netstat -apn |grep -i 51751

Kita dapat melihat bahwa cluster database berjalan dengan baik, dan log startup dapat ditemukan di lokasi yang ditentukan dengan opsi -l saat memulai cluster database.

pg_ctl -D /pgdatabase/data/ -l logfile start

8. Hubungkan ke PostgreSQL

Sekarang sambungkan ke cluster database dan buat database dengan menggunakan perintah berikut.

psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

Jika Anda mencari alat grafis bernama pgAdmin untuk mengelola PostgreSQL Anda, ikuti panduan berikut untuk menginstal pgAdmin di distribusi Linux Anda.

Kesimpulan

Anda telah berhasil menginstal PostgreSQL dari sumber di sistem Linux Anda. Proses ini memberikan fleksibilitas dan kontrol atas instalasi PostgreSQL Anda, memungkinkan Anda menyesuaikannya dengan kebutuhan spesifik Anda.