Kako instalirati PostgreSQL koristeći izvorni kod u Linuxu
PostgreSQL, sustav za upravljanje relacijskom bazom podataka otvorenog koda, nadaleko je poznat po svojim robusnim značajkama i mogućnostima proširenja. Iako mnoge distribucije Linuxa pružaju PostgreSQL putem svojih upravitelja paketima, njegovo instaliranje iz izvora omogućuje veću prilagodbu i kontrolu.
U ovom ćemo članku objasniti kako instalirati PostgreSQL 16 pomoću instalacije izvornog koda na Linux sustavima.
Za one koji traže jednostavniju metodu instalacije od upravitelja distribucijskih paketa, molimo slijedite upute u nastavku:
Preduvjeti
Prije nego što se upustite u proces instalacije PostgreSQL, provjerite ispunjava li vaš sustav sljedeće preduvjete:
- Distribucija Linuxa (u ovom ćemo vodiču koristiti Debian u svrhu demonstracije).
- Linux sustav s nekorijenskim korisnikom sa sudo privilegijama.
- Instalirani su osnovni alati za razvoj kao što su GCC i Make.
1. Instalirajte Prerequisites na Linux
Najprije instalirajte osnovne razvojne alate kao što su GCC i Make pomoću upravitelja distribucijskih paketa kao što je prikazano.
Na distribucijama temeljenim na RHEL-u 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 temeljenim 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
Nakon što su potrebni preduvjeti instalirani, preuzmite tar datoteku izvornog koda sa službene postgres web stranice pomoću sljedeće naredbe wget izravno na sustavu. Od pisanja, najnovija verzija je PostgreSQL 16.1.
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
Zatim upotrijebite naredbu tar za izdvajanje preuzete tarball datoteke. Stvorit će se novi direktorij pod nazivom postgresql-16.1.
tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l
Uzorak rezultata:
-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. Konfigurirajte PostgreSQL iz izvora
Budući da je postgres baza podataka otvorenog koda, može se izraditi iz izvornog koda prema nečijim potrebama/zahtjevima. možemo prilagoditi proces izrade i instalacije pružanjem jedne ili više opcija naredbenog retka za razne dodatne značajke.
Koristite sljedeću naredbu za pomoć s različitim opcijama i upotrebom konfiguracije, kao što je prikazano.
./configure --help
Sada pokrenite skriptu za konfiguriranje, koja će provjeriti ima li u vašem sustavu ovisnosti i prema tome konfigurirati izgradnju.
./configure
4. Instalirajte PostgreSQL iz izvora
Nakon konfiguracije, koristite sljedeće naredbe za izgradnju i instalaciju PostgreSQL-a iz izvora.
make
sudo make install
5. Stvaranje Postgres korisnika
Sada stvorite postgres korisnika i direktorij koji će se koristiti kao data direktorij za inicijalizaciju klastera baze podataka. Vlasnik ovog direktorija podataka trebao bi biti korisnik postgresa i dopuštenja bi trebala biti 700 također postaviti putanju za postgresql binarne datoteke radi lakšeg snalaženja.
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 pomoću sljedeće naredbe kao postgres korisnik prije korištenja bilo koje postgres naredbe.
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 za lozinku 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 slušati adresu za poslužitelj, uredite datoteku /pgdatabase/data/postgresql.conf u direktoriju podataka poslužitelj baze podataka.
nano /pgdatabase/data/postgresql.conf
Sada pokrenite uslugu PostgreSQL.
pg_ctl -D /pgdatabase/data/ start
Nakon pokretanja baze podataka, provjerite status procesa poslužitelja postgres koristeći sljedeće naredbe ps i netstat.
ps -ef |grep -i postgres
netstat -apn |grep -i 51751
Vidimo da klaster baze podataka radi dobro, a zapisnici pokretanja mogu se pronaći na mjestu navedenom s opcijom -l
tijekom pokretanja klastera baze podataka.
pg_ctl -D /pgdatabase/data/ -l logfile start
8. Spojite se na PostgreSQL
Sada se povežite s klasterom baze podataka i stvorite bazu pomoću sljedećih naredbi.
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 koji se zove pgAdmin za upravljanje vašim PostgreSQL-om, slijedite ove vodiče da instalirate pgAdmin na svoju distribuciju Linuxa.
Zaključak
Uspješno ste instalirali PostgreSQL iz izvora na vašem Linux sustavu. Ovaj proces pruža fleksibilnost i kontrolu nad vašom instalacijom PostgreSQL, omogućujući vam da je prilagodite svojim specifičnim zahtjevima.