A PostgreSQL 14 telepítése Fedora 40 vagy 39 Linux rendszeren

A PostgreSQL 14 egy nyílt forráskódú relációs adatbázis-kezelő rendszer, amely robusztusságáról, méretezhetőségéről és kiterjedt szolgáltatáskészletéről híres. A PostgreSQL 14 egyik kulcsfontosságú funkciója a növekményes rendezés kezelésének képessége volt, amely jelentősen javította a lekérdezések teljesítményét meghatározott munkaterhelések esetén. Ez a kiadás a párhuzamos feldolgozást, a porszívózást és a JSON-feldolgozást is továbbfejlesztette, így kiváló választás vállalati és fejlesztői környezetekben. Bár néhány verzióval elmarad a legújabb kiadástól, a PostgreSQL 14 továbbra is megbízható és széles körben támogatott lehetőség.

A PostgreSQL 14 telepítéséhez a Fedora 40 vagy 39 rendszeren a parancssori terminál használatával importálhat és telepíthet közvetlenül a PostgreSQL RPM buildekből. Ez a módszer biztosítja, hogy Ön a legújabb verzióval rendelkezzen, és egyszerűvé teszi a jövőbeni frissítéseket.

Frissítse a Fedorát a PostgreSQL 14 telepítése előtt

Kezdésként frissítse Fedora rendszerét, hogy minden csomag aktuális legyen. Ez a lépés segít megelőzni a lehetséges ütközéseket a PostgreSQL telepítése során. Hajtsa végre az alábbi parancsot:

sudo dnf update --refresh

Importálja a PostgreSQL RPM GPG kulcstárat

Kezdje a PostgreSQL-tár importálásával. Ez a művelet garantálja a hozzáférést a legújabb PostgreSQL-verziókhoz. Válassza ki és importálja a Fedora Linux verziójának megfelelő lerakat.

Importálja a PostgreSQL 14-et

Megjegyzés: Ne felejtse el importálni a megfelelő verziót a Fedora terjesztési verziójához:

Fedora 40 esetén használja ezt a parancsot:

sudo dnf install http://apt.postgresql.org/pub/repos/yum/reporpms/F-40-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Fedora 39 esetén a parancs kissé eltér:

sudo dnf install http://apt.postgresql.org/pub/repos/yum/reporpms/F-39-x86_64/pgdg-fedora-repo-latest.noarch.rpm

Az alapértelmezett PostgreSQL-modul letiltása (ha van)

A Fedora alapértelmezett tárolói gyakran tartalmazzák a PostgreSQL-t modulként. A PostgreSQL lerakatból történő telepítés prioritása érdekében célszerű letiltani ezt az alapértelmezett modult. Ehhez használja a következő parancsot:

sudo dnf -qy module disable postgresql

A PostgreSQL 14 telepítésének befejezése

Folytassa a PostgreSQL 14 telepítésével

.Használja ezt a parancsot a PostgreSQL 14 szerver és dokumentációjának telepítéséhez:

sudo dnf install postgresql14-server postgresql14-docs -y

Ezenkívül a fejlesztői csomagot az alábbiak szerint telepítheti.

sudo dnf install postgresql14-devel

Végül telepíthet néhány általánosan használt kiegészítő modult, bináris fájlt és könyvtárat.

sudo dnf install postgresql14-libs postgresql14-odbc postgresql14-plperl postgresql14-plpython3 postgresql14-pltcl postgresql14-tcl postgresql14-contrib postgresql14-llvmjit

Inicializálja a PostgreSQL 14 adatbázist

A telepítés után futtassa a következő parancsot az adatbázis inicializálásához; ennek elmulasztása megakadályozza a PostgreSQL működését.

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

Engedélyezze a PostgreSQL 14 Systemd szolgáltatást

Alapértelmezés szerint a PostgreSQL nincs aktiválva. Használja a következő parancsot a szolgáltatás azonnali elindításához és a rendszerindításkor.

sudo systemctl enable postgresql-14 --now

Ellenőrizze a PostgreSQL 14 telepítését

Ezután ellenőrizze az állapotot, hogy megbizonyosodjon arról, hogy a szoftver telepítése és aktiválása hibamentesen megtörtént a következő paranccsal.

systemctl status postgresql-14

Systemd Service parancsok a PostgreSQL 14-hez

A PostgreSQL 14 szolgáltatás kezelése

A PostgreSQL adatbázis-kiszolgáló egy „postgresql-14” nevű rendszerszolgáltatásként működik a Fedorán. A rendszergazdák ezt a szolgáltatást a rendszeres karbantartáshoz és hibaelhárításhoz elengedhetetlen systemd parancsok segítségével kezelhetik.

A PostgreSQL 14 szerver leállítása

A PostgreSQL szolgáltatás leállításához, esetleg karbantartáshoz vagy konfigurációs módosításokhoz, használja ezt a parancsot:

sudo systemctl stop postgresql-14

A PostgreSQL 14 Server indítása

A PostgreSQL szolgáltatás elindításához, különösen leállítás vagy kezdeti telepítés után, használja a következő parancsot:

sudo systemctl start postgresql-14

A PostgreSQL 14 Server újraindítása

A restart parancs akkor hasznos, ha új konfigurációkat kell alkalmaznia vagy vissza kell állítania a PostgreSQL szolgáltatást. Egyetlen művelettel leállítja, majd elindítja a szolgáltatást:

sudo systemctl restart postgresql-14

A PostgreSQL 14 szerver újratöltése

A reload parancs ideális a konfigurációs változtatások alkalmazásához az adatbázis leállítása nélkül. Az adatbázis működésének megszakítása nélkül frissíti a szolgáltatást:

sudo systemctl reload postgresql-14

A PostgreSQL 14 szolgáltatás állapotának ellenőrzése

A PostgreSQL szolgáltatás működési állapotának ellenőrzéséhez használja ezt a parancsot. Információkat ad a szolgáltatás állapotáról, beleértve azt is, hogy az aktív, tétlen vagy problémákat tapasztal:

systemctl status postgresql-14

Állítsa be a PostgreSQL 14-et

Váltás a Postgres 14 fiókra

A Postgres 14 fiók elérése

A PostgreSQL telepítése során automatikusan létrejön egy „postgres” nevű felhasználói fiók. Ez a fiók az alapértelmezett Postgres szerepkörhöz van társítva, amely szuperfelhasználói jogosultságokkal rendelkezik. A PostgreSQL adatbázis eléréséhez váltson a „postgres” fiókra a következő paranccsal:

sudo -i -u postgres

A PostgreSQL 14 Prompt beírása

Miután átváltott a „postgres” felhasználóra, közvetlenül a psql beírásával érheti el a PostgreSQL promptot. Sikeres csatlakozás esetén a terminál prompt postgres=#-ra változik, jelezve az adatbázishoz való aktív kapcsolatot.

A PostgreSQL adatbázisból való kilépéshez egyszerűen írja be:

psql

Alternatív módszer a PostgreSQL eléréséhez 14

Sudo használata közvetlen eléréshez

Alternatív megoldásként a PostgreSQL adatbázissal fiókváltás nélkül léphet kapcsolatba a következőkkel:

exit

Alternatív megoldás a Postgres-fiók váltására

A Postgres adatbázissal való interakció másik módja a felhasználói fiókok megváltoztatása nélkül, ha egy sudo parancsot használ a közvetlen csatlakozáshoz. Ezt a következő beírásával teheti meg:

sudo -u postgres psql

Ez a parancs hatékony az adatbázissal való gyors interakcióhoz, mivel megkerüli a további terminálparancsokat.

A kilépéshez az első módszerhez hasonlóan írja be az exit parancsot.

exit

Felhasználói és adatbázis létrehozása a PostgreSQL 14 segítségével

Új felhasználói szerepkör létrehozása

Csak a Createrole jogosultsággal rendelkező szuperfelhasználók és szerepkörök hozhatnak létre új szerepköröket. Felhasználó létrehozásához használja a következő parancsot:

sudo su - postgres -c "createuser <name>"

Cserélje ki a kívánt felhasználónévvel.

Új adatbázis létrehozása

Ezután hozzon létre egy PostgreSQL adatbázist az újonnan létrehozott felhasználó számára:

sudo su - postgres -c "createdb <namedb>"

Cserélje ki a kívánt adatbázisnévvel.

Engedélyek megadása

Ha engedélyeket szeretne adni az új felhasználónak az új adatbázisban, először csatlakozzon a PostgreSQL adatbázishoz szuperfelhasználóként:

sudo -u postgres psql

Ezután adjon meg minden jogosultságot az új felhasználónak:

GRANT ALL PRIVILEGES ON DATABASE <usernamedb> TO <name>;

Cserélje ki az adatbázis nevével és a felhasználónévvel. A kilépéshez írja be az exit parancsot.

exit

Állítsa be a tűzfalat a PostgreSQL 14-hez

Tűzfalszabályok létrehozása a PostgreSQL 14-hez

A PostgreSQL biztonságossá tétele többet jelent, mint a szolgáltatás telepítését és futtatását; kulcsfontosságú a hálózati hozzáférés-szabályozás hatékony konfigurálása. Ez biztonságossá teszi az adatbázist, és biztosítja, hogy csak legitim forgalom érje el. Végignézzük a Firewalld, a Fedora dinamikus tűzfalkezelőjének beállítását a PostgreSQL védelme érdekében.

Tűzfalzóna létrehozása a PostgreSQL-hez

Először hozzon létre egy dedikált zónát a tűzfalban a PostgreSQL számára. Ez a megközelítés részletesebb vezérlést és átláthatóságot tesz lehetővé a PostgreSQL-specifikus szabályok kezelésében:

sudo firewall-cmd --permanent --new-zone=postgres

Ez a parancs egy „postgres” zónát hoz létre, amely elkülöníti a PostgreSQL-hez kapcsolódó tűzfalszabályokat a könnyebb kezelés érdekében.

Az ismert IP-címekhez való hozzáférés korlátozása

Hozzáférés engedélyezése egyetlen IP-címről

Olyan helyzetekben, amikor csak egy kliens vagy kiszolgáló érheti el a PostgreSQL-t:

sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.4

Cserélje ki az 1.2.3.4-et az adatbázishoz való hozzáférést igénylő konkrét IP-címre.

Alhálózat engedélyezése

Olyan környezetekben, mint a vállalati hálózatok, szükség lehet egy teljes alhálózat engedélyezésére:

sudo firewall-cmd --permanent --zone=postgres --add-source=192.168.1.0/24

Itt a 192.168.1.0/24 jelenti az alhálózatot. Állítsa be ezt az értéket a kívánt hálózati tartományhoz.

Hozzáférés biztosítása több meghatározott IP-címhez

Több ismert, hozzáférést igénylő IP-cím esetén:

sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.4
sudo firewall-cmd --permanent --zone=postgres --add-source=1.2.3.5

Ismételje meg ezt a parancsot minden IP-címhez.

Port-hozzáférés kezelése a PostgreSQL 14-hez

Az alapértelmezett PostgreSQL-port konfigurálása

Az alapértelmezett portot használó szabványos telepítések esetén:

sudo firewall-cmd --permanent --zone=postgres --add-port=5432/tcp
A portkonfiguráció testreszabása

Ha a PostgreSQL nem szabványos porton működik (például 5433):

sudo firewall-cmd --permanent --zone=postgres --add-port=5433/tcp

Módosítsa a portszámot az adott PostgreSQL konfigurációnak megfelelően.

Az új tűzfalszabályok végrehajtása és ellenőrzése

A módosítások alkalmazása

Az új szabályok aktiválásához töltse be újra a tűzfalat:

sudo firewall-cmd --reload

Ez a lépés biztosítja, hogy az új konfigurációk azonnal életbe lépjenek.

A konfigurációk ellenőrzése

A konfigurálás után célszerű áttekinteni a „postgres” zónára beállított szabályokat:

sudo firewall-cmd --list-all --zone=postgres

Ez a parancs megjeleníti az összes aktív szabályt a 'postgres' zónában, lehetővé téve a setup.exp ellenőrzését.

Távoli hozzáférés beállítása a PostgreSQL 14-hez

Hallgatási interfészek beállítása táveléréshez

A PostgreSQL konfiguráció módosítása

A PostgreSQL távoli elérésének engedélyezéséhez a postgresql interfész beállításainak módosítása szükséges.conf fájl. Ez a folyamat lehetővé teszi a PostgreSQL számára, hogy különböző forrásokból fogadjon kapcsolatokat.

Győződjön meg arról, hogy a FirewallD beállításai megvannak a távoli hozzáférés engedélyezéséhez, amint azt az előző szakaszokban ismertettük.

A konfigurációs fájl elérése

A PostgreSQL 14 konfigurációjának módosításához használja a nano szövegszerkesztőt:

sudo nano /var/lib/pgsql/14/data/postgresql.conf
A hallgatási cím szerkesztése

A „Kapcsolat beállításai” részben módosítsa a listen_addresses értéket „localhost” értékről az igényeinek megfelelően:

  • Listen on All Interfaces: Bármilyen forrásból származó kapcsolatok fogadásához állítsa a listen_addresses paramétert '*' értékre.
listen_addresses = '*'
  • Meghallgatás egy adott interfészen: Adjon meg egy IP-címet, hogy korlátozza a kapcsolatokat egy adott interfészen.
listen_addresses = '192.168.1.100'

Szerkesztés után mentse el a fájlt (Ctrl + O, majd Enter) és lépjen ki (Ctrl + X).

A PostgreSQL 14 szolgáltatás újraindítása

Alkalmazza a módosításokat a PostgreSQL szolgáltatás újraindításával:

sudo systemctl restart postgresql-14

Hallgató portok megerősítése

Használja az ss segédprogramot annak ellenőrzésére, hogy a PostgreSQL figyel a megadott portokon:

ss -nlt | grep 5432

Ha sikeres, látnia kell a portokat a terminál portjában.

A távoli kapcsolat speciális beállításai a pg_hba.conf fájlban

A hozzáférés testreszabása a pg_hba.conf fájlban

A távoli kapcsolatok finom vezérléséhez a pg_hba.conf fájl különféle testreszabási lehetőségeket kínál.

A pg_hba.conf szerkesztése

Nyissa meg a pg_hba.conf fájlt:

sudo nano /var/lib/pgsql/14/data/pg_hba.conf
pg_hba konfigurációs fájl a PostgreSQL 14-hez Fedora Linux rendszeren
Példa képernyőkép a pg_hba konfigurációs fájlról a PostgreSQL 14-hez Fedora Linux rendszeren
Távoli hozzáférési szabályok konfigurálása
Adott felhasználók és adatbázisok engedélyezése

Egy adott felhasználóhoz és adatbázishoz való hozzáférés korlátozása egy adott IP-címről:

host mydatabase myuser 192.168.1.100/32 md5
Alhálózat engedélyezése

A szélesebb körű eléréshez, például egy teljes alhálózathoz:

az összes hoszt 192.168.1.0/24 md5
Különböző hitelesítési módszerek használata

Válasszon a környezetének megfelelő hitelesítési módot. Jelszó alapú hitelesítéshez:

összes hoszt 0.0.0.0/0 md5

A megbízható hitelesítéshez (vegye figyelembe a biztonsági kockázatokat):

az összes összes 0.0.0.0/0 megbízható állomása

A kívánt szabályok konfigurálása után mentse el és lépjen ki a szerkesztőből.

Módosítások alkalmazása és ellenőrzése

Indítsa újra a PostgreSQL-t az új konfigurációk megvalósításához:

sudo systemctl restart postgresql-14

Ellenőrizze az érvényes beállításokat a pg_hba.conf fájlban a következő használatával:

cat /var/lib/pgsql/14/data/pg_hba.conf

A SELinux beállítása PostgreSQL 14-hez

A PostgreSQL 14 Fedora rendszeren történő konfigurálásakor elengedhetetlen a SELinux (Security-Enhanced Linux) megfelelő beállítása. A SELinux a hozzáférés-felügyeleti házirendek kikényszerítésével egy biztonsági réteget ad hozzá. A helytelen konfiguráció olyan gyakori problémákhoz vezethet, mint a hozzáférés megtagadása vagy a szolgáltatás megszakadása.

A SELinux beállítása Megengedő módra a hibaelhárításhoz

A SELinux mód ideiglenes beállítása

Ha problémákat tapasztal a PostgreSQL indításával vagy megfelelő működésével, fontolja meg a SELinux ideiglenes „megengedő” módba állítását. Ez a mód lehetővé teszi azokat a műveleteket, amelyek blokkolva lennének az „Enforcing” módban, de naplózzák őket ellenőrzés céljából:

sudo setenforce 0

Az AVC elutasítások naplóinak megfigyelése

Ellenőrizze a SELinux naplóit az AVC (Access Vector Cache) megtagadására vonatkozóan:

sudo restorecon -Rv /var/lib/pgsql/14/data/

Ez a parancs segít azonosítani a SELinux házirendeket, amelyek megakadályozzák a PostgreSQL megfelelő működését.

SELinux házirendek beállítása a PostgreSQL 14-hez

Az alapértelmezett SELinux környezet visszaállítása

Annak biztosítására, hogy a fájlok a megfelelő SELinux környezettel rendelkezzenek, használja a restorecon parancsot. A PostgreSQL-könyvtárak vagy -fájlok helytelen kontextusa hozzáférési problémákat okozhat:

sudo setsebool -P postgresql_can_rnetwork 1

Ez a parancs engedélyezi a postgresql_can_rnetwork logikai értéket, lehetővé téve a hálózati kapcsolatokat.

Speciális SELinux konfiguráció

A SELinux házirendek testreszabása

Bonyolultabb beállításoknál, például amikor a PostgreSQL más szolgáltatásokkal vagy egyéni portokkal kölcsönhatásba lép, szükség lehet egyéni SELinux házirendek létrehozására. Használja az audit2allow eszközt egyedi házirend-modulok létrehozásához a konkrét igények alapján.

Egyéni házirendek alkalmazása

Az egyéni házirendek létrehozása után alkalmazza azokat a következő módon:

sudo semodule -i my_postgresql.pp

Cserélje le a my_postgresql.pp fájlt a házirendfájl nevével.

A SELinux beállításainak ellenőrzése

A SELinux állapotának ellenőrzése

Erősítse meg a SELinux állapotát, hogy megbizonyosodjon arról, hogy megfelelően van beállítva a PostgreSQL telepítéséhez:

sestatus

Fájlkontextusok érvényesítése

Ellenőrizze, hogy a PostgreSQL-hez kapcsolódó fájlok és könyvtárak rendelkeznek-e a megfelelő SELinux környezettel:

ls -Z /var/lib/pgsql/14/data/

Következtetés

Ha a PostgreSQL 14 sikeresen telepítve van Fedora rendszerére, kihasználhatja fejlett funkcióit és robusztus teljesítményét az adatbázis-szükségletek kielégítésére. Rendszeresen ellenőrizze a PostgreSQL RPM buildekből származó frissítéseket és jövőbeli frissítéseket, hogy rendszere naprakész legyen.

A PostgreSQL használatával kapcsolatos további információkért látogasson el a hivatalos oldalra dokumentáció.

Joshua James

Szólj hozzá!