Sikeresen lefordítottam és telepítettem a legújabb PostgreSQL (17.4) verziót Ubuntu ARM32-n.

Az ebben a cikkben szereplő parancsok főként a PostgreSQL hivatalos dokumentációjából származnak. Minden parancsot ténylegesen teszteltem ebben a cikkben.

Itt látható, mely rendszereken lehet sikeresen telepíteni: PostgreSQL buildfarm

PostgreSQL 17.4 fordítása és telepítése

1. Könyvtár létrehozása és belépés a könyvtárba

mkdir postgresql && cd postgresql
  • mkdir postgresql: Egy új, postgresql nevű könyvtár létrehozása.
  • cd postgresql: A most létrehozott postgresql könyvtárba való belépés.

2. A PostgreSQL forráskódjának letöltése

wget https://ftp.postgresql.org/pub/source/v17.4/postgresql-17.4.tar.bz2
  • wget: Fájl letöltése a megadott URL-ről.
  • https://..../postgresql-17.4.tar.bz2: A PostgreSQL 17.4 verziójának tömörített forráskód csomagjának letöltési linkje. Ha a link érvénytelen, kereshet egy új linket saját maga.

3. A forráskód csomag kibontása

tar xjf postgresql-17.4.tar.bz2
  • tar: A .tar tömörített fájlok kezelésére szolgál.

  • xjf: A tar fájl kibontásának opciói:

    • x: Fájlok kibontása.
    • j: Bzip2 tömörítési formátum használata (.bz2).
    • f: A kibontandó fájl megadása.
  • postgresql-17.4.tar.bz2: A kibontandó fájl neve.

4. Belépés a kibontott forráskód könyvtárba

cd postgresql-17.4
  • Belépés a kibontott PostgreSQL 17.4 forráskód könyvtárba.

5. A függőségi csomagok telepítése

sudo apt install libssl-dev libsystemd-dev libxml2-dev libreadline-dev
  • sudo apt install: A apt csomagkezelővel történő csomagok telepítése.
  • libssl-dev, libsystemd-dev, libxml2-dev, libreadline-dev: A PostgreSQL fordításához szükséges fejlesztői könyvtárak telepítése, amelyek az SSL könyvtár, a Systemd könyvtár, az XML könyvtár és a Readline könyvtár.

6. A fordítási beállítások konfigurálása

./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-systemd
  • ./configure: A PostgreSQL fordítási környezetének előkészítése.
  • --prefix=/usr/local/pgsql: A PostgreSQL telepítési könyvtárának megadása, ami /usr/local/pgsql.
  • --with-openssl: Az OpenSSL támogatás engedélyezése.
  • --with-libxml: Az XML támogatás engedélyezése.
  • --with-systemd: A Systemd támogatás engedélyezése.

7. A forráskód fordítása

make -j$(nproc)
  • make: A fordítási folyamat elindítása.
  • -j$(nproc): A nproc (a rendszer CPU magjainak száma) használata a fordítási feladatok párhuzamos végrehajtására, a fordítási folyamat felgyorsítására.

8. A PostgreSQL telepítése

sudo make install
  • sudo make install: A telepítés végrehajtása rendszergazdai jogosultságokkal, a make install a lefordított fájlokat telepíti a rendszerbe, a korábbi ./configure parancsban megadott /usr/local/pgsql könyvtárba.

9. Környezeti változók beállítása

Használjon szövegszerkesztőt 1. A /etc/profile fájl szerkesztése:

sudo nano /etc/profile
  • sudo: A parancs futtatása rendszergazdai (adminisztrátori) jogosultságokkal. Az /etc/profile fájl módosításához rendszergazdai jogosultságok szükségesek.
  • nano: Ez egy szövegszerkesztő, amelyet gyakran használnak fájlok szerkesztésére terminálkörnyezetben.
  • /etc/profile: Ez egy globális konfigurációs fájl, amely a rendszer egészére kiterjedő környezeti változók és indítási konfigurációk beállítására szolgál. Amikor egy felhasználó bejelentkezik a rendszerbe, a rendszer végrehajtja a fájlban található beállításokat.
  1. Környezeti változó hozzáadása:
export PATH=/usr/local/pgsql/bin:$PATH
  • export: Egy környezeti változó beállítására szolgál, hogy az az aktuális és a gyermekfolyamatokban is elérhető legyen.
  • PATH: Ez egy környezeti változó, amely a rendszerben található végrehajtható fájlok könyvtárlistáját tartalmazza. A rendszer egy parancs végrehajtásakor a PATH változóban felsorolt könyvtárakban keresi a parancsot.
  • /usr/local/pgsql/bin: Ez a PostgreSQL adatbázis végrehajtható fájljainak könyvtára, hozzáadása azt jelenti, hogy a könyvtárban található végrehajtható fájlokat (például a psql-t) a rendszer felismeri.
  • :$PATH: Itt a $PATH az eredetileg meglévő útvonalakat jelenti, az új /usr/local/pgsql/bin útvonalat hozzáadja a meglévő PATH elejéhez. Így a rendszer először az új könyvtárat ellenőrzi, majd az eredeti útvonalakat.

Ennek a parancsnak az a célja, hogy hozzáadja a PostgreSQL végrehajtható fájljainak könyvtárát a rendszer környezeti PATH változójához, biztosítva, hogy a PostgreSQL parancsok (például a psql) közvetlenül futtathatók legyenek a parancssorban, anélkül, hogy a teljes útvonalat meg kellene adni. A módosított beállítások minden felhasználóra érvényesek lesznek.

A PostgreSQL adatbázis inicializálása

Ezek a parancsok főként a PostgreSQL adatbázis-kiszolgáló manuális konfigurálására szolgálnak Linux szerveren, beleértve a PostgreSQL rendszerfelhasználó létrehozását, az adatbázis inicializálását, az adatbázis-szolgáltatás elindítását, és a systemd szolgáltatásként történő regisztrálását, hogy automatikusan elinduljon a rendszerindításkor.

1. PostgreSQL felhasználó létrehozása

sudo useradd -m -U -r -d /var/lib/postgresql -s /bin/bash postgres
  • sudo: A parancs végrehajtása szuperfelhasználói jogosultságokkal.
  • useradd: Új felhasználó létrehozása.
  • -m: A felhasználó home könyvtárának létrehozása.
  • -U: Egy azonos nevű felhasználói csoport létrehozása.
  • -r: Rendszerfelhasználó létrehozása (a rendszerfelhasználók UID-je alacsonyabb, mint 1000, nem használható bejelentkezésre).
  • -d /var/lib/postgresql: A home könyvtár megadása, ami /var/lib/postgresql.
  • -s /bin/bash: A shell megadása, ami /bin/bash.
  • postgres: Felhasználónév.

A parancs létrehoz egy PostgreSQL-hez dedikált rendszerfelhasználót, a postgres-t.


2. A PostgreSQL könyvtár tulajdonosának módosítása

sudo chown postgres /usr/local/pgsql
  • chown postgres /usr/local/pgsql: A /usr/local/pgsql könyvtár tulajdonosának módosítása a postgres felhasználóra, lehetővé téve számára a könyvtár olvasását és írását.

3. A PostgreSQL felhasználó jelszavának beállítása

sudo passwd postgres
  • passwd postgres: A postgres felhasználó jelszavának módosítása.

4. Átváltás a PostgreSQL felhasználóra

su postgres
  • su postgres: Átváltás a postgres felhasználóra a PostgreSQL-hez kapcsolódó parancsok használatához.

5. Adatbázis inicializálása

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
  • initdb -D /usr/local/pgsql/data: Az adatbázis-tároló inicializálása a /usr/local/pgsql/data könyvtárban.

6. A PostgreSQL adatbázis elindítása

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
  • postgres -D /usr/local/pgsql/data: Az adatbázis elindítása postgres folyamatként, az adatok tárolása a /usr/local/pgsql/data könyvtárban.

7. Egy másik terminál munkamenetben belépés az adatbázisba

su postgres
/usr/local/pgsql/bin/psql
  • psql: A PostgreSQL parancssori interaktív eszköze, belépés az adatbázis shell-be.

8. Az adatbázis felhasználó jelszavának beállítása

ALTER USER postgres WITH PASSWORD 'your_new_password';
  • A postgres adatbázis felhasználó jelszavának módosítása.

9. systemd szolgáltatás létrehozása

sudo nano /etc/systemd/system/postgresql.service
  • nano /etc/systemd/system/postgresql.service: A systemd konfigurációs fájl szerkesztése, hogy a PostgreSQL szolgáltatásként futhasson.

A konfigurációs fájl tartalma:

[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: Leírja, hogy a szolgáltatás PostgreSQL szerver.
  • After=network-online.target: Várjon, amíg a hálózati kapcsolat elérhetővé válik, mielőtt elindítaná a PostgreSQL-t.
  • User=postgres: A postgres felhasználóval futtatás.
  • ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data: A PostgreSQL szerver elindítása.
  • ExecReload=/bin/kill -HUP $MAINPID: Újratöltéskor HUP jelet küld.
  • KillMode=mixed: Vegyes leállítási mód.
  • KillSignal=SIGINT: A PostgreSQL folyamat leállításának jele.
  • TimeoutSec=infinity: Az időtúllépés beállítása végtelenre.

10. A systemd szolgáltatás engedélyezése

sudo systemctl daemon-reload
sudo systemctl start postgresql
sudo systemctl status postgresql
sudo systemctl enable postgresql
  • daemon-reload: A systemd konfiguráció újratöltése, hogy az új postgresql.service érvénybe lépjen.
  • start postgresql: A PostgreSQL szolgáltatás elindítása.
  • status postgresql: A PostgreSQL futási állapotának ellenőrzése.
  • enable postgresql: A PostgreSQL automatikus elindítása a rendszerindításkor.

Ezeknek a parancsoknak a célja:

  1. Létrehozni egy postgres felhasználót, amelyet kifejezetten a PostgreSQL futtatására használnak.
  2. Inicializálni az adatbázis tároló könyvtárát.
  3. Elindítani a PostgreSQL adatbázist, és belépni a psql interaktív parancssorba.
  4. Konfigurálni a systemd-t, hogy a PostgreSQL rendszer szolgáltatásként fusson, és támogassa az automatikus indítást a rendszerindításkor.

Így a PostgreSQL szerver normálisan fog működni, és automatikusan elindulhat a rendszerindításkor.

Referencia anyagok

PostgreSQL: Dokumentáció: 17: 17. fejezet. Telepítés forráskódból

A weboldal más verziói

Ez a cikk több nyelven is elérhető.

Ha szeretne hozzászólni, látogassa meg a következő weboldalakat:

ZH EN ZH-TW JA

Ezek a weboldalak csak böngészést tesznek lehetővé, nem lehet hozzászólni vagy üzenetet hagyni, de több nyelvi opciót kínálnak, és rövidebb betöltési idővel rendelkeznek:

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

Ezt a cikket a Chinese (Simplified) nyelvből a Hungarian nyelvre fordította a AI.