Kaip įdiegti „PostgreSQL“ naudojant šaltinio kodą „Linux“.


PostgreSQL, atvirojo kodo reliacinės duomenų bazės valdymo sistema, plačiai žinoma dėl savo patikimų funkcijų ir išplečiamumo. Nors daugelis „Linux“ platinimų teikia „PostgreSQL“ per savo paketų tvarkykles, įdiegus jį iš šaltinio, galima geriau pritaikyti ir valdyti.

Šiame straipsnyje paaiškinsime, kaip įdiegti PostgreSQL 16 naudojant šaltinio kodo diegimą Linux sistemose.

Tiems, kurie ieško lengvesnio diegimo metodo iš platinimo paketų tvarkyklės, vadovaukitės toliau pateiktais vadovais:

Būtinos sąlygos

Prieš pasinerdami į PostgreSQL diegimo procesą, įsitikinkite, kad jūsų sistema atitinka šias būtinas sąlygas:

  • „Linux“ platinimas (šiame vadove demonstravimo tikslais naudosime Debian).
  • Linux sistema su ne root vartotoju, turinčiu sudo privilegijas.
  • Įdiegti pagrindiniai kūrimo įrankiai, pvz., GCC ir Make.

1. „Linux“ sistemoje įdiekite išankstines sąlygas

Pirmiausia įdiekite esminius kūrimo įrankius, pvz., GCC ir Make, naudodami platinimo paketų tvarkyklę, kaip parodyta.

RHEL pagrįstuose platinimuose, pvz., CentOS, Fedora, Rocky Linux ir Alma Linux:

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

„Debian“ pagrindu sukurtuose platinimuose, pvz., Ubuntu ir Linux Mint.

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

2. Atsisiųskite PostgreSQL šaltinio kodą

Įdiegę reikiamas būtinas sąlygas, atsisiųskite šaltinio kodo tar failą iš oficialios postgres svetainės naudodami šią wget komandą tiesiai sistemoje. Rašymo metu naujausia versija yra PostgreSQL 16.1.

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

Tada naudokite tar komandą, kad ištrauktumėte atsisiųstą tarball failą. Bus sukurtas naujas katalogas pavadinimu postgresql-16.1.

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

Išvesties pavyzdys:

-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. Sukonfigūruokite PostgreSQL iš šaltinio

Kadangi postgres yra atvirojo kodo duomenų bazė, ją galima sukurti iš šaltinio kodo, atsižvelgiant į jūsų poreikius/reikalavimus. galime tinkinti kūrimo ir diegimo procesą, pateikdami vieną ar daugiau komandinės eilutės parinkčių įvairioms papildomoms funkcijoms.

Norėdami gauti pagalbos su įvairiomis parinktimis ir konfigūracijos naudojimu, naudokite šią komandą, kaip parodyta.

./configure --help

Dabar paleiskite konfigūravimo scenarijų, kuris patikrins, ar sistemoje nėra priklausomybių, ir atitinkamai sukonfigūruos kūrimą.

./configure

4. Įdiekite PostgreSQL iš šaltinio

Sukonfigūravę naudokite šias komandas, kad sukurtumėte ir įdiegtumėte PostgreSQL iš šaltinio.

make
sudo make install

5. Postgres vartotojo sukūrimas

Dabar sukurkite postgres vartotoją ir katalogą, kuris bus naudojamas kaip duomenų katalogas duomenų bazės klasteriui inicijuoti. Šio duomenų katalogo savininkas turėtų būti postgres vartotojas, o leidimai turėtų būti 700, kad būtų lengviau naudoti postgresql dvejetainius failus.

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. „Postgres“ duomenų bazės inicijavimas

Dabar inicijuokite duomenų bazę naudodami šią komandą kaip postgres naudotoją prieš naudodami bet kokias postgres komandas.

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

Kur -D yra šios duomenų bazės klasterio vieta arba galime sakyti, kad tai yra duomenų katalogas, kuriame norime inicijuoti duomenų bazės klasterį, -U yra duomenų bazės supervartotojo vardas ir -W slaptažodžio raginimui db supervartotojui.

Daugiau informacijos ir parinkčių rasite initdb --help.

7. Paleiskite PostgreSQL paslaugą

Pradėję duomenų bazę, paleiskite duomenų bazės grupę arba, jei reikia pakeisti prievadą arba klausytis serverio adreso, redaguokite failą /pgdatabase/data/postgresql.conf duomenų kataloge duomenų bazės serverį.

nano /pgdatabase/data/postgresql.conf

Dabar paleiskite PostgreSQL paslaugą.

pg_ctl -D /pgdatabase/data/ start

Paleidę duomenų bazę, patikrinkite postgres serverio proceso būseną naudodami šias ps ir netstat komandas.

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

Matome, kad duomenų bazės klasteris veikia gerai, o paleidimo žurnalus galima rasti vietoje, nurodytoje su parinktimi -l paleidžiant duomenų bazės klasterį.

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

8. Prisijunkite prie PostgreSQL

Dabar prisijunkite prie duomenų bazės klasterio ir sukurkite duomenų bazę naudodami šias komandas.

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

Jei ieškote grafinio įrankio, pavadinto pgAdmin, kad galėtumėte valdyti savo PostgreSQL, vadovaukitės šiais vadovais, kad įdiegtumėte pgAdmin savo Linux platinime.

Išvada

Sėkmingai įdiegėte PostgreSQL iš šaltinio savo Linux sistemoje. Šis procesas suteikia lankstumo ir valdymo PostgreSQL diegimo, todėl galite pritaikyti jį pagal savo konkrečius reikalavimus.