Úspěšně jsem zkompiloval a nainstaloval nejnovější verzi PostgreSQL (17.4) na Ubuntu ARM32.
Příkazy v tomto článku pocházejí převážně z oficiální dokumentace PostgreSQL. Každý příkaz v tomto článku jsem již otestoval.
Úspěšně nainstalovaný systém můžete vidět zde PostgreSQL Buildfarm
Kompilace a instalace PostgreSQL 17.4
1. Vytvořte a přejděte do adresáře
mkdir postgresql && cd postgresql
mkdir postgresql
: Vytvoří nový adresář s názvempostgresql
.cd postgresql
: Přejde do právě vytvořeného adresářepostgresql
.
2. Stáhněte si zdrojový kód PostgreSQL
wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
wget
: Stáhne soubor ze zadané URL.https://..../postgresql-17.4.tar.bz2
: Odkaz ke stažení komprimovaného balíčku zdrojového kódu verze PostgreSQL 17.4. Pokud je odkaz neplatný, můžete si sami vyhledat nový odkaz.
3. Rozbalte balíček zdrojového kódu
tar xjf postgresql-17.4.tar.bz2
-
tar
: Slouží ke zpracování komprimovaných souborů.tar
. -
xjf
: Možnosti pro rozbalení souborutar
:x
: Rozbalí soubor.j
: Použije formát komprese bzip2 (.bz2).f
: Určuje soubor, který má být rozbalen.
-
postgresql-17.4.tar.bz2
: Název souboru, který má být rozbalen.
4. Přejděte do rozbaleného adresáře zdrojového kódu
cd postgresql-17.4
- Přejde do rozbaleného adresáře zdrojového kódu PostgreSQL 17.4.
5. Nainstalujte závislosti
sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
sudo apt install
: Použije správce balíčkůapt
k instalaci softwarových balíčků.libssl-dev
,libsystemd-dev
,libxml2-dev
,libreadline-dev
: Nainstaluje vývojové knihovny potřebné pro kompilaci PostgreSQL, konkrétně SSL knihovnu, Systemd knihovnu, XML knihovnu a Readline knihovnu.
6. Konfigurace možností kompilace
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
./configure
: Připraví kompilační prostředí PostgreSQL.--prefix=/usr/local/pgsql
: Určuje instalační adresář PostgreSQL jako/usr/local/pgsql
.--with-openssl
: Povolí podporu OpenSSL.--with-libxml
: Povolí podporu XML.--with-systemd
: Povolí podporu Systemd.
7. Kompilace zdrojového kódu
make -j$(nproc)
make
: Spustí proces kompilace.-j$(nproc)
: Použijenproc
(počet jader CPU systému) k paralelnímu provádění kompilace, čímž se urychlí proces kompilace.
8. Instalace PostgreSQL
sudo make install
sudo make install
: Použijesudo
k provedení instalace s oprávněními správce,make install
nainstaluje zkompilované soubory do systému, a to do adresáře/usr/local/pgsql
určeného dříve v příkazu./configure
.
9. Nastavení proměnných prostředí
Použijte textový editor 1. Upravte soubor /etc/profile
:
sudo nano /etc/profile
sudo
: Označuje spuštění příkazu s oprávněními superuživatele (administrátora). Protože úprava souboru/etc/profile
vyžaduje oprávnění administrátora.nano
: Jedná se o textový editor, který se běžně používá v terminálovém prostředí pro úpravu souborů./etc/profile
: Jedná se o globální konfigurační soubor, který se používá k nastavení proměnných prostředí a konfiguračních souborů spouštění v celém systému. Při každém přihlášení uživatele do systému se provedou nastavení v tomto souboru.
- Přidejte proměnnou prostředí:
export PATH=/usr/local/pgsql/bin:$PATH
export
: Používá se k nastavení proměnné prostředí, aby byla k dispozici v aktuálním a podřízeném procesu.PATH
: Jedná se o proměnnou prostředí, která obsahuje seznam adresářů se spustitelnými soubory v systému. Při spouštění příkazu systém prohledává příkazy podle adresářů uvedených v proměnnéPATH
./usr/local/pgsql/bin
: Toto je adresář spustitelných souborů databáze PostgreSQL, jeho přidání znamená, že systém rozpozná spustitelné soubory (např.psql
) v tomto adresáři.:$PATH
: Zde$PATH
představuje původní existující cestu, nová cesta/usr/local/pgsql/bin
je přidána před původníPATH
. Tímto způsobem systém nejprve zkontroluje nový adresář a poté původní cestu.
Účelem tohoto příkazu je přidat adresář spustitelných souborů PostgreSQL do systémové proměnné prostředí PATH
, čímž se zajistí, že příkazy PostgreSQL (např. psql
) lze spouštět přímo v příkazovém řádku, aniž by bylo nutné zadávat úplnou cestu. Upravené nastavení se projeví pro všechny uživatele.
Inicializace databáze PostgreSQL
Tyto příkazy se používají hlavně pro ruční konfiguraci databázového serveru PostgreSQL na serveru Linux, včetně vytvoření systémového uživatele PostgreSQL, inicializace databáze, spuštění databázové služby a její registrace jako služby systemd
pro automatické spuštění při spuštění systému.
1. Vytvoření uživatele PostgreSQL
sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
sudo
: Spouští příkaz s oprávněními superuživatele.useradd
: Vytvoří nového uživatele.-m
: Vytvoří domovský adresář uživatele.-U
: Vytvoří současně uživatelskou skupinu se stejným názvem jako uživatelské jméno.-r
: Vytvoří systémového uživatele (systémové UID jsou nižší než 1000, nepoužívají se pro přihlášení).-d /var/lib/postgresql
: Určuje domovský adresář jako/var/lib/postgresql
.-s /bin/bash
: Určuje shell jako/bin/bash
.postgres
: Uživatelské jméno.
Tento příkaz vytvoří systémového uživatele postgres
určeného pro PostgreSQL.
2. Změna vlastníka adresáře PostgreSQL
sudo chown postgres /usr/local/pgsql
chown postgres /usr/local/pgsql
: Změní vlastníka adresáře/usr/local/pgsql
na uživatelepostgres
, aby mohl do tohoto adresáře číst a zapisovat.
3. Nastavení hesla uživatele PostgreSQL
sudo passwd postgres
passwd postgres
: Změní heslo uživatelepostgres
.
4. Přepnutí na uživatele PostgreSQL
su postgres
su postgres
: Přepne na uživatelepostgres
, abyste mohli používat příkazy související s PostgreSQL.
5. Inicializace databáze
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
initdb -D /usr/local/pgsql/data
: Inicializuje úložiště databáze v adresáři/usr/local/pgsql/data
.
6. Spuštění databáze PostgreSQL
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres -D /usr/local/pgsql/data
: Spustí databázi jako procespostgres
, data jsou uložena v adresáři/usr/local/pgsql/data
.
7. V jiném terminálovém relaci přejděte do databáze
su postgres
/usr/local/pgsql/bin/psql
psql
: Interaktivní nástroj příkazového řádku PostgreSQL, vstupte do shellu databáze.
8. Nastavení hesla databázového uživatele
ALTER USER postgres WITH PASSWORD 'your_new_password';
- Změní heslo databázového uživatele
postgres
.
9. Vytvoření služby systemd
sudo nano /etc/systemd/system/postgresql.service
nano /etc/systemd/system/postgresql.service
: Upravte konfigurační souborsystemd
, aby bylo možné PostgreSQL spouštět jako službu.
Obsah konfiguračního souboru:
[Unit]
Description=PostgreSQL server
#Documentation=man:postgres(1)
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
Description=PostgreSQL server
: Popisuje, že tato služba je server PostgreSQL.After=network-online.target
: Počkejte, až bude k dispozici síťové připojení, než spustíte PostgreSQL.User=postgres
: Spustí se jako uživatelpostgres
.ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
: Spustí server PostgreSQL.ExecReload=/bin/kill -HUP $MAINPID
: Při opětovném načtení odešle signálHUP
.KillMode=mixed
: Smíšený režim ukončení.KillSignal=SIGINT
: Signál pro ukončení procesu PostgreSQL.TimeoutSec=infinity
: Časový limit je nastaven na nekonečno.
10. Povolení služby systemd
sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
daemon-reload
: Znovu načte konfiguracisystemd
, aby se projevila novápostgresql.service
.start postgresql
: Spustí službu PostgreSQL.status postgresql
: Zkontroluje stav běhu PostgreSQL.enable postgresql
: Automaticky spustí PostgreSQL při spuštění systému.
Účel těchto příkazů:
- Vytvoří uživatele
postgres
určeného pro spouštění PostgreSQL. - Inicializuje adresář pro ukládání databáze.
- Spustí databázi PostgreSQL a vstoupí do interaktivního příkazového řádku
psql
. - Nakonfiguruje
systemd
tak, aby se PostgreSQL spouštěl jako systémová služba a podporoval automatické spuštění při spuštění systému.
Tímto způsobem může server PostgreSQL normálně fungovat a automaticky se spouštět při spuštění systému.
Reference
PostgreSQL: Dokumentace: 17: Kapitola 17. Instalace ze zdrojového kódu
Další verze této webové stránky
Tento článek má verze v několika jazycích.
Pokud chcete zveřejnit komentář, navštivte následující webové stránky:
Tyto webové stránky podporují pouze prohlížení, nemůžete přidávat komentáře nebo zanechávat zprávy, ale poskytují více jazykových možností a mají kratší dobu načítání:
ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO
Tento článek byl přeložen z Chinese (Simplified) do Czech pomocí AI.