Vyhledávání na webu

Jak nainstalovat PostgreSQL pomocí zdrojového kódu v Linuxu


PostgreSQL, open source systém pro správu relačních databází, je široce známý pro své robustní funkce a rozšiřitelnost. Zatímco mnoho distribucí Linuxu poskytuje PostgreSQL prostřednictvím svých správců balíčků, jeho instalace ze zdroje umožňuje větší přizpůsobení a kontrolu.

V tomto článku vysvětlíme, jak nainstalovat PostgreSQL 16 pomocí instalace zdrojového kódu v systémech Linux.

Pro ty, kteří hledají jednodušší způsob instalace od správce distribučních balíčků, postupujte podle následujících pokynů:

Předpoklady

Než se ponoříte do procesu instalace PostgreSQL, ujistěte se, že váš systém splňuje následující předpoklady:

  • Distribuce Linuxu (v této příručce budeme pro demonstrační účely používat Debian).
  • Systém Linux s uživatelem bez oprávnění root s právy sudo.
  • Jsou nainstalovány základní vývojové nástroje, jako jsou GCC a Make.

1. Nainstalujte Předpoklady na Linux

Nejprve nainstalujte základní vývojové nástroje, jako jsou GCC a Make, pomocí správce distribučních balíčků, jak je znázorněno.

V distribucích založených na RHEL, jako jsou CentOS, Fedora, Rocky Linux a Alma Linux:

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

V distribucích založených na Debianu, jako jsou Ubuntu a Linux Mint.

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

2. Stáhněte si zdrojový kód PostgreSQL

Jakmile jsou potřebné předpoklady nainstalovány, stáhněte si zdrojový kód tar soubor z oficiálního webu postgres pomocí následujícího příkazu wget přímo v systému. V době psaní je nejnovější verze PostgreSQL 16.1.

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

Poté pomocí příkazu tar rozbalte stažený soubor tarball. Bude vytvořen nový adresář s názvem postgresql-16.1.

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

Ukázkový výstup:

-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. Nakonfigurujte PostgreSQL ze zdroje

Jelikož postgres je open-source databáze, lze ji sestavit ze zdrojového kódu podle vlastních potřeb/požadavků. můžeme přizpůsobit proces sestavení a instalace poskytnutím jedné nebo více možností příkazového řádku pro různé další funkce.

Pomocí následujícího příkazu získáte nápovědu k různým možnostem a použití konfigurace, jak je znázorněno na obrázku.

./configure --help

Nyní spusťte konfigurační skript, který zkontroluje závislosti vašeho systému a podle toho nakonfiguruje sestavení.

./configure

4. Nainstalujte PostgreSQL ze zdroje

Po konfiguraci použijte následující příkazy k sestavení a instalaci PostgreSQL ze zdroje.

make
sudo make install

5. Vytvoření uživatele Postgres

Nyní vytvořte postgres uživatele a adresář, který bude použit jako data adresář pro inicializaci databázového clusteru. Vlastníkem tohoto adresáře data by měl být uživatel postgres a oprávnění by měla být 700. Pro usnadnění by také měla být nastavena cesta pro binární soubory postgresql.

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. Inicializace databáze Postgres

Nyní inicializujte databázi pomocí následujícího příkazu jako uživatel postgres před použitím jakýchkoli příkazů postgres.

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

Kde -D je umístění pro tento databázový cluster nebo můžeme říci, že je to datový adresář, kde chceme inicializovat databázový cluster, -U pro jméno superuživatele databáze a -W pro výzvu k zadání hesla pro superuživatele db.

Další informace a možnosti naleznete v initdb --help.

7. Spusťte službu PostgreSQL

Po inicializaci databáze spusťte databázový cluster, nebo pokud potřebujete změnit port nebo naslouchat adrese pro server, upravte soubor /pgdatabase/data/postgresql.conf v datovém adresáři serveru databázový server.

nano /pgdatabase/data/postgresql.conf

Nyní spusťte službu PostgreSQL.

pg_ctl -D /pgdatabase/data/ start

Po spuštění databáze ověřte stav procesu serveru postgres pomocí následujících příkazů ps a netstat.

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

Vidíme, že databázový klastr běží v pořádku a spouštěcí protokoly lze nalézt na místě určeném volbou -l při spouštění databázového klastru.

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

8. Připojte se k PostgreSQL

Nyní se připojte k databázovému clusteru a vytvořte databázi pomocí následujících příkazů.

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

Pokud hledáte grafický nástroj nazvaný pgAdmin pro správu vašeho PostgreSQL, pak postupujte podle těchto pokynů a nainstalujte pgAdmin do vaší distribuce Linuxu.

Závěr

Úspěšně jste nainstalovali PostgreSQL ze zdroje ve vašem systému Linux. Tento proces poskytuje flexibilitu a kontrolu nad vaší instalací PostgreSQL, což vám umožňuje přizpůsobit ji vašim konkrétním požadavkům.