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
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ó.