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étrehozottpostgresql
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
: Atar
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
: Aapt
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)
: Anproc
(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, amake 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.
- 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 aPATH
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 apsql
-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 apostgres
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
: Apostgres
felhasználó jelszavának módosítása.
4. Átváltás a PostgreSQL felhasználóra
su postgres
su postgres
: Átváltás apostgres
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ásapostgres
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
: Asystemd
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
: Apostgres
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éskorHUP
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
: Asystemd
konfiguráció újratöltése, hogy az újpostgresql.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:
- Létrehozni egy
postgres
felhasználót, amelyet kifejezetten a PostgreSQL futtatására használnak. - Inicializálni az adatbázis tároló könyvtárát.
- Elindítani a PostgreSQL adatbázist, és belépni a
psql
interaktív parancssorba. - 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:
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.