Kako instalirati PostgreSQL koristeći izvorni kod u Linuxu


PostgreSQL, sistem za upravljanje relacionim bazama podataka otvorenog koda, nadaleko je poznat po svojim robusnim karakteristikama i proširivosti. Dok mnoge Linux distribucije pružaju PostgreSQL putem svojih menadžera paketa, njegova instalacija iz izvora omogućava veću prilagodbu i kontrolu.

U ovom članku ćemo objasniti kako instalirati PostgreSQL 16 koristeći instalaciju izvornog koda na Linux sistemima.

Za one koji traže lakšu metodu instalacije od upravitelja paketa za distribuciju, slijedite dolje navedene vodiče:

Preduvjeti

Prije nego što uđete u PostgreSQL proces instalacije, uvjerite se da vaš sistem ispunjava sljedeće preduslove:

  • Linux distribucija (u ovom vodiču koristit ćemo Debian u svrhu demonstracije).
  • Linux sistem sa ne-root korisnikom sa sudo privilegijama.
  • Instalirani su osnovni razvojni alati kao što su GCC i Make.

1. Instalirajte Preduvjete na Linux

Prvo, instalirajte osnovne razvojne alate kao što su GCC i Make koristeći upravitelj paketa distribucije kao što je prikazano.

Na RHEL distribucijama kao što su CentOS, Fedora, Rocky Linux i Alma Linux:

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

Na distribucijama baziranim na Debianu kao što su Ubuntu i Linux Mint.

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

2. Preuzmite PostgreSQL izvorni kod

Kada se instaliraju potrebni preduslovi, preuzmite tar datoteku izvornog koda sa službene postgres web stranice koristeći sljedeću komandu wget direktno na sistemu. U trenutku pisanja, najnovija verzija je PostgreSQL 16.1.

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

Zatim koristite naredbu tar da izdvojite preuzetu tarball datoteku. Novi direktorij pod nazivom postgresql-16.1 će biti kreiran.

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

Uzorak izlaza:

-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. Konfigurišite PostgreSQL iz izvora

Kako je postgres baza podataka otvorenog koda, može se izgraditi iz izvornog koda prema nečijim potrebama/zahtjevima. možemo prilagoditi proces izgradnje i instalacije tako što ćemo dostaviti jednu ili više opcija komandne linije za razne dodatne funkcije.

Koristite sljedeću naredbu za pomoć pri različitim opcijama i korištenju konfiguracije, kao što je prikazano.

./configure --help

Sada pokrenite skriptu za konfiguriranje, koja će provjeriti vaš sistem ovisnosti i konfigurirati gradnju u skladu s tim.

./configure

4. Instalirajte PostgreSQL iz izvora

Jednom konfigurisan, koristite sljedeće naredbe da napravite i instalirate PostgreSQL iz izvora.

make
sudo make install

5. Kreiranje Postgres korisnika

Sada kreirajte postgres korisnika i direktorij koji će se koristiti kao direktorij podataka za inicijalizaciju klastera baze podataka. Vlasnik ovog podataka direktorija bi trebao biti postgres korisnik i dozvole bi trebale biti 700 također postaviti putanju za postgresql binarne datoteke za našu lakoću.

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. Inicijalizacija Postgres baze podataka

Sada inicijalizirajte bazu podataka koristeći sljedeću naredbu kao postgres korisnik prije korištenja bilo koje postgres komande.

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

Gdje je -D lokacija za ovaj klaster baze podataka ili možemo reći da je to direktorij podataka u kojem želimo inicijalizirati klaster baze podataka, -U za ime superkorisnika baze podataka i -W za upit lozinke za db superkorisnika.

Za više informacija i opcija možemo pogledati initdb --help.

7. Pokrenite PostgreSQL uslugu

Nakon inicijalizacije baze podataka, pokrenite klaster baze podataka ili ako trebate promijeniti port ili poslušati adresu servera, uredite datoteku /pgdatabase/data/postgresql.conf u direktoriju podataka server baze podataka.

nano /pgdatabase/data/postgresql.conf

Sada pokrenite PostgreSQL uslugu.

pg_ctl -D /pgdatabase/data/ start

Nakon pokretanja baze podataka, provjerite status postgres serverskog procesa korištenjem sljedećih naredbi ps i netstat.

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

Vidimo da klaster baze podataka radi dobro, a evidencije pokretanja mogu se naći na lokaciji specificiranoj sa -l opcijom dok se pokreće klaster baze podataka.

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

8. Povežite se na PostgreSQL

Sada se povežite na klaster baze podataka i kreirajte bazu podataka koristeći sljedeće naredbe.

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

Ako tražite grafički alat pod nazivom pgAdmin za upravljanje vašim PostgreSQL-om, slijedite ove vodiče da instalirate pgAdmin na vašu Linux distribuciju.

Zaključak

Uspješno ste instalirali PostgreSQL iz izvora na vašem Linux sistemu. Ovaj proces pruža fleksibilnost i kontrolu nad vašom PostgreSQL instalacijom, omogućavajući vam da je prilagodite svojim specifičnim zahtjevima.