PostgreSQL adalah salah satu RDBMS yang dikembangkan sudah sejak lama (1996) dan menjadi basis pengembangan software-software lainnya (YugabyteDB, CockroachDB, EDB). Hampir semua distro Linux menyertakan PostgreSQL dalam distribusinya. Sistem operasi lain juga didukung. Artikel ini membahas sedikit tentang UUID dan kaitannya dengan instalasi PostgreSQL.
Pada PostgreSQL versi lama, UUID dihasilkan oleh pustaka yang dibuat oleh OSSP. Sayangnya, software yang dibuat oleh legenda open source Ralf Engelschall ini tidak dikembangkan lagi. Oleh karena itu, proses untuk menghasilkan UUID sebaiknya menggunakan pustaka lainnya. Secara umum, ada 3 pilihan yang bisa digunakan dalam parameter --with-uuid=LIB
(ganti LIB dengan salah satu dari:
- ossp: menggunakan versi (obsolete) dari OSSP
- e2fs: menggunakan
libuuid
dari e2fsprogs. - bsd: menggunakan fungsi dari BSD.
Saya sendiri menggunakan libuuid
sehingga proses konfigurasi menjadi:
$ ./configure --prefix=/home/bpdp/software/dbms/postgresql/16.2 --with-uuid=e2fs
Setelah itu, untuk mengkompilasi dan menginstall:
$ make
$ make install
Berikutnya, tetapkan lokasi direktori untuk data dan gunakan sebagai parameter dari pg_ctl
untuk start maupun stop. Saya membuat alias berikut ini (Fish shell):
set -x PATH /home/bpdp/software/dbms/postgresql/16.2/bin $PATH
alias startpsql="pg_ctl -D /home/bpdp/software/dbms/postgresql/16-data -l logfile start"
alias stoppsql="pg_ctl -D /home/bpdp/software/dbms/postgresql/16-data stop"
Untuk bisa menggunakan alias tersebut, perlu dilakukan inisialisasi lsebih dahulu:
$ initdb -D /home/bpdp/software/dbms/postgresql/16-data
Inisialisasi ini cukup dilakukan sekali saja, di awal saat akan menggunakan suatu direktori sebagai lokasi data. Kompilasi ini akan menghasilkan user dengan nama sesuai dengan user sistem operasi yang melakukan kompilasi.