Kuinka asentaa PostgreSQL lähdekoodilla Linuxissa


PostgreSQL, avoimen lähdekoodin relaatiotietokannan hallintajärjestelmä, on laajalti tunnettu vahvoista ominaisuuksistaan ja laajennettavuusstaan. Vaikka monet Linux-jakelut tarjoavat PostgreSQL:n paketinhallintaohjelmiensa kautta, sen asentaminen lähteestä mahdollistaa paremman mukauttamisen ja hallinnan.

Tässä artikkelissa selitämme, kuinka PostgreSQL 16 asennetaan lähdekoodiasennuksella Linux-järjestelmiin.

Niille, jotka etsivät helpompaa asennustapaa jakelupaketin hallinnasta, noudata alla olevia ohjeita:

Edellytykset

Ennen kuin siirryt PostgreSQL-asennusprosessiin, varmista, että järjestelmäsi täyttää seuraavat edellytykset:

  • Linux-jakelu (tässä oppaassa käytämme Debiania esittelytarkoituksiin).
  • Linux-järjestelmä, jossa on ei-root-käyttäjä, jolla on sudo-oikeudet.
  • Tärkeät kehitystyökalut, kuten GCC ja Make, on asennettu.

1. Asenna Prerequisites Linuxiin

Asenna ensin tärkeät kehitystyökalut, kuten GCC ja Make, käyttämällä jakelupakettien hallintaa kuvan mukaisesti.

RHEL-pohjaisissa jakeluissa, kuten CentOS, Fedora, Rocky Linux ja Alma Linux:

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

Debian-pohjaisissa jakeluissa, kuten Ubuntu ja Linux Mint.

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

2. Lataa PostgreSQL-lähdekoodi

Kun tarvittavat edellytykset on asennettu, lataa lähdekoodin tar-tiedosto viralliselta postgres-sivustolta käyttämällä seuraavaa wget-komentoa suoraan järjestelmässä. Tätä kirjoittaessa uusin versio on PostgreSQL 16.1.

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

Pura seuraavaksi ladattu tarball-tiedosto tar-komennolla. Uusi hakemisto nimeltä postgresql-16.1 luodaan.

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

Näytetulos:

-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. Määritä PostgreSQL lähteestä

Koska postgres on avoimen lähdekoodin tietokanta, se voidaan rakentaa lähdekoodista tarpeiden/vaatimusten mukaan. voimme mukauttaa rakennus- ja asennusprosessia tarjoamalla yhden tai useamman komentorivivaihtoehdon eri lisäominaisuuksia varten.

Käytä seuraavaa komentoa saadaksesi apua eri vaihtoehtoihin ja konfigurointiin, kuten kuvassa.

./configure --help

Suorita nyt määrityskomentosarja, joka tarkistaa järjestelmän riippuvuuksien varalta ja määrittää koontiversion vastaavasti.

./configure

4. Asenna PostgreSQL lähdekoodista

Kun olet määrittänyt, käytä seuraavia komentoja PostgreSQL:n rakentamiseen ja asentamiseen lähteestä.

make
sudo make install

5. Postgres-käyttäjän luominen

Luo nyt postgres-käyttäjä ja hakemisto käytettäväksi tietohakemistona tietokantaklusterin alustamiseksi. Tämän data-hakemiston omistajan tulee olla postgres-käyttäjä, ja käyttöoikeuksien tulee olla 700. Asettakaa myös polku postgresql-binaaritiedostoille helpottamiseksi.

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-tietokannan alustaminen

Alusta tietokanta seuraavalla komennolla postgres-käyttäjänä ennen kuin käytät postgres-komentoja.

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

Missä -D on tämän tietokantaklusterin sijainti tai voidaan sanoa, että se on tietohakemisto, johon haluamme alustaa tietokantaklusterin, -U on tietokannan pääkäyttäjän nimi ja -W db-pääkäyttäjän salasanakehotteeseen.

Lisätietoja ja vaihtoehtoja löytyy kohdasta initdb --help.

7. Käynnistä PostgreSQL-palvelu

Kun tietokanta on alustettu, käynnistä tietokantaklusteri, tai jos sinun on vaihdettava porttia tai kuunnellaan palvelimen osoitetta, muokkaa /pgdatabase/data/postgresql.conf-tiedostoa tietohakemistossa tietokantapalvelin.

nano /pgdatabase/data/postgresql.conf

Käynnistä nyt PostgreSQL-palvelu.

pg_ctl -D /pgdatabase/data/ start

Kun olet käynnistänyt tietokannan, tarkista postgres-palvelinprosessin tila käyttämällä seuraavia ps- ja netstat-komentoja.

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

Näemme, että tietokantaklusteri toimii hyvin, ja käynnistyslokit löytyvät vaihtoehdolla -l määritetystä sijainnista tietokantaklusterin käynnistämisen yhteydessä.

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

8. Yhdistä PostgreSQL:ään

Yhdistä nyt tietokantaklusteriin ja luo tietokanta käyttämällä seuraavia komentoja.

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

Jos etsit graafista työkalua nimeltä pgAdmin PostgreSQL:n hallintaan, seuraa näitä ohjeita asentaaksesi pgAdmin Linux-jakeluusi.

Johtopäätös

Olet onnistuneesti asentanut PostgreSQL:n lähteestä Linux-järjestelmääsi. Tämä prosessi tarjoaa joustavuutta ja PostgreSQL-asennuksesi hallinnan, jolloin voit räätälöidä sen omien tarpeidesi mukaan.