A PostgreSQL 16 jelentős frissítést jelent az adatbázis-kezelő rendszerek világában. A 2023. szeptember 14-én hivatalosan kiadott PostgreSQL 16 számos új funkciót és fejlesztést tartalmaz, megerősítve pozícióját, mint egy robusztus és sokoldalú adatbázis-megoldás a felhasználók, rendszergazdák és fejlesztők számára.
Az alábbiakban bemutatjuk a PostgreSQL 16 legfontosabb jellemzőit:
- Parallelizációs fejlesztések: A PostgreSQL 16 lehetővé teszi a TELJES és a belső jobb oldali KÜLSŐ hash csatlakozások párhuzamosítását, jelentősen javítva a lekérdezés teljesítményét.
- Replikációs fejlesztések: Bevezeti a készenléti szerverek logikai replikálásának képességét, és lehetővé teszi az előfizetők számára, hogy párhuzamosan nagy tranzakciókat hajtsanak végre.
- Monitoring képességek: A pg_stat_io nézet hozzáadása lehetővé teszi az I/O statisztikák alaposabb megfigyelését.
- SQL/JSON támogatás: Ez a kiadás SQL/JSON konstruktorokat és identitásfüggvényeket mutat be, kibővítve adatkezelési képességeit.
- Vákuumos fagyasztási teljesítmény: A PostgreSQL 16 javítja a vákuumfagyasztás teljesítményét, segítve az adatbázisok hatékony karbantartását.
- Reguláris kifejezés illesztése: A pg_hba.conf fájlban a felhasználó- és adatbázisnevek, valamint a pg_ident.conf fájlban található felhasználónevek reguláris kifejezés-egyeztetése növeli a biztonságot és a rugalmasságot.
Most folytassuk a technikai útmutatóval, és mélyedjünk el a PostgreSQL 16 telepítési folyamatában.
A PostgreSQL 16 telepítésének előfeltételei
A PostgreSQL 16 Ubuntu rendszerre történő sikeres telepítéséhez győződjön meg arról, hogy megfelel a következő követelményeknek:
Ajánlott hardver és támogatott Ubuntu verziók
Összetevő | Követelmény |
---|---|
Processzor | 1 gigahertzes (GHz) vagy gyorsabb kompatibilis processzor |
RAM | 2 GB vagy több |
Lemezterület | 512 MB HDD (további lemezterület szükséges az adatokhoz vagy a támogató komponensekhez) |
Támogatott verziók | Ubuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Fokális) |
További követelmények
Követelmény | Leírás |
---|---|
Internet kapcsolat | A PostgreSQL 16 és a jövőbeni frissítések letöltéséhez szükséges. |
Terminálegyezmények | Az összes terminálparancsot normál felhasználóként kell futtatni sudo kiváltságokat. |
CLI parancsok | A telepítéshez és beállításhoz használja a parancssori felületet (CLI). |
Importálja a PostgreSQL APT-tárat
Frissítse az Ubuntu-t a PostgreSQL 16 telepítése előtt
Kezdje azzal, hogy győződjön meg arról, hogy Ubuntu rendszere naprakész. Ez a lépés kulcsfontosságú a rendszer stabilitásának és kompatibilitásának megőrzéséhez:
sudo apt update
Ezután frissítse az elavult csomagokat:
sudo apt upgrade
Telepítse a PostgreSQL 16 kezdeti csomagjait
Az adatbázisszoftver telepítésének elősegítése érdekében telepítse a következő csomagokat:
sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl -y
Adja hozzá a PostgreSQL 16 APT-tárat
Először importálja a PostgreSQL GPG kulcsot. Ez arról szól, hogy a telepítendő csomagok eredetiek legyenek, és ne legyenek hamisítatlanok:
curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null
A megfelelő PostgreSQL 16 tárhely kiválasztása
Most itt az ideje kiválasztani az igényeinek megfelelő PostgreSQL 16 tárolót.
Stabil tároló termeléshez / általános használatra
A stabil adattár a legtöbb felhasználó számára elérhető, különösen éles környezetben. Rendszeresen frissítik a stabil és biztonságos verziókkal:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list
Pillanatkép vagy teszttárak fejlesztőknek
Fontolja meg a pillanatképet vagy a tesztelési tárakat, ha a fejlesztési vagy tesztelési fázisban van. Ne feledje azonban, hogy ezek kevésbé stabil természetük miatt nem termelési használatra szolgálnak.
Pillanatkép-tár az élvonalbeli teszteléshez
Itt készítheti el a legfrissebb pillanatfelvételeket:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
Teszttár a legújabb szolgáltatásokhoz
A legújabb funkciók teszteléséhez ez a parancs beállítja:
echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list
Telepítse a PostgreSQL 16-ot a terminálparancsokon keresztül
Frissítse az APT csomagindex forráslistáját
A stabil vagy a tesztelő PostgreSQL-lerakat hozzáadása után fontos a lerakatforrások listájának frissítése. Ez a művelet biztosítja, hogy a rendszer felismerje az újonnan hozzáadott PostgreSQL-tárat:
sudo apt update
Telepítse a PostgreSQL 16-ot az APT Command segítségével
Most térjünk át a PostgreSQL 16 telepítésére. Ez a parancs telepíti a PostgreSQL klienst és a kiszolgálót is:
sudo apt install postgresql-client-16 postgresql-16
A PostgreSQL telepítés ellenőrzése
A telepítés befejezése után döntő fontosságú annak ellenőrzése, hogy a PostgreSQL megfelelően telepítve van-e és fut-e. Ez a parancs ellenőrzi a PostgreSQL szolgáltatás állapotát:
systemctl status postgresql
A PostgreSQL 16 aktiválása
Ha a PostgreSQL nem aktív, használja ezt a parancsot a PostgreSQL szolgáltatás elindításához. Ez azt is biztosítja, hogy a PostgreSQL automatikusan elinduljon a rendszerrel:
sudo systemctl enable postgresql --now
A PostgreSQL 16 szolgáltatás kezelése
A PostgreSQL 16 szerver leállítása
A PostgreSQL szolgáltatás ideiglenes leállításához, esetleg karbantartási vagy konfigurációs módosítások miatt, használja ezt a parancsot:
sudo systemctl stop postgresql
A PostgreSQL 16 kiszolgáló indítása
Ha készen áll a PostgreSQL szolgáltatás elindítására, különösen leállítás vagy kezdeti telepítés után, ez a parancs jól jöhet:
sudo systemctl start postgresql
A PostgreSQL 16 Server újraindítása
Olyan esetekben, amikor módosította a konfigurációt vagy a frissítéseket, gyakran újra kell indítani. Ez a parancs újraindítja a PostgreSQL szolgáltatást, alkalmazva minden új módosítást:
sudo systemctl restart postgresql
A PostgreSQL 16 szerver újratöltése
A PostgreSQL szolgáltatás újratöltéséhez a működés megszakítása nélkül használja ezt a parancsot. Akkor hasznos, ha kisebb konfigurációs változtatásokat kell végrehajtania:
sudo systemctl reload postgresql
A PostgreSQL 16 állapotának ellenőrzése
A PostgreSQL szolgáltatás működési állapotának ellenőrzéséhez, beleértve azt is, hogy aktív-e és problémamentesen fut-e, használja:
systemctl status postgresql
A PostgreSQL 16 engedélyezése rendszerindításkor
Ha a PostgreSQL nincs beállítva úgy, hogy automatikusan elinduljon, akkor ez a parancs engedélyezi, biztosítva, hogy azonnal és a következő rendszerindításkor aktív legyen:
sudo systemctl enable postgresql --now
Alapvető példaparancsok a PostgreSQL 16-ban
A Postgres felhasználói fiók elérése
A PostgreSQL-ben a „postgres” felhasználó az alapértelmezett szuperfelhasználói szerepkör. Ez a fiók kulcsfontosságú az adminisztratív parancsok végrehajtásához. A fiókra való váltáshoz használja:
sudo -i -u postgres
Miután belépett a fiókba, lépjen be a PostgreSQL parancssori felületre:
psql
A felszólítás postgres=#
megerősíti a kapcsolatot a PostgreSQL környezettel. A kilépéshez egyszerűen írja be exit
.
Gyors hozzáférés a PostgreSQL-hez felhasználói kapcsoló nélkül
A felhasználói fiók megváltoztatása nélküli gyors műveletek érdekében közvetlenül nyissa meg a PostgreSQL-t:
sudo -u postgres psql
Ez a parancs időt takarít meg a rutinfeladatokhoz. A felület elhagyásához írja be: exit
.
Új PostgreSQL felhasználói szerepkör létrehozása
A PostgreSQL rugalmassága lehetővé teszi a szuperfelhasználók számára, hogy felhasználói szerepköröket hozzanak létre. Új felhasználói szerepkör létrehozásához adja ki ezt a parancsot:
sudo su - postgres -c "createuser <username>"
Cserélje ki <username>
a kívánt felhasználónévvel.
Új PostgreSQL adatbázis indítása
Új adatbázis beállításához a felhasználó számára:
sudo su - postgres -c "createdb <database_name>"
Cserélje ki <database_name>
az adatbázis tervezett nevével.
Felhasználói jogosultságok hozzárendelése egy adatbázishoz
Adatbázis-hozzáférés biztonságos hozzárendelése:
sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;
Helyettes <database_name>
és <username>
igény szerint. Gépeléssel fejezze be exit
.
Állítsa be az UFW tűzfalat a PostgreSQL 16-hoz
Az UFW tűzfal telepítése és aktiválása
Győződjön meg arról, hogy az UFW (Uncomplicated Firewall) telepítve van és aktiválva van a rendszeren. Az UFW leegyszerűsíti a tűzfal kezelését, és elengedhetetlen a hálózati forgalom biztonságához:
sudo apt install ufw
sudo ufw enable
UFW-szabályok beállítása a PostgreSQL-hez 16
A PostgreSQL alapértelmezés szerint az 5432-es porton kommunikál. Be kell állítani az UFW-t, hogy engedélyezze a forgalmat ezen a porton, különösen távoli helyekről történő csatlakozáskor.
Alhálózati hozzáférés engedélyezése
Az alhálózaton belüli IP-címtartományok eléréséhez használja ezt a parancsot:
sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432
Cserélje ki 192.168.1.0/24
adott alhálózati tartományával.
Egyéni IP-hozzáférés engedélyezése
Ha egyetlen IP-címről szeretne hozzáférést biztosítani a PostgreSQL-hez, használja:
sudo ufw allow proto tcp from 192.168.1.0 to any port 5432
Módosít 192.168.1.0
az engedélyezni kívánt IP-címre.
Ezek csak alapvető példák. Fontolja meg a nyilvános adatbázisok zárolását, amennyire csak lehetséges hosszú távon.
Állítsa be a PostgreSQL 16-ot
Távoli hozzáférés engedélyezése a PostgreSQL 16-ban
A PostgreSQL távoli kapcsolatok fogadására való konfigurálása magában foglalja a figyelési cím beállítását az alapértelmezett helyi interfészről.
A távelérés konfigurációjának módosítása
A PostgreSQL konfigurációs fájl elérése:
sudo nano /etc/postgresql/16/main/postgresql.conf
A „Kapcsolatbeállítások” részben módosítsa listen_addresses = 'localhost'
egyedi igényei szerint:
- Cserélje le a „localhost” szót a kívánt IP-címre egyetlen IP-címhez.
- Ha az összes interfészen engedélyezni szeretné a csatlakozást, használja a
listen_addresses = '*'
.
A módosítások elvégzése után mentse el a CTRL+O billentyűkombinációt, és lépjen ki a CTRL+X billentyűkombinációval. Ezután indítsa újra a PostgreSQL-t:
sudo systemctl restart postgresql
Ellenőrizze a változtatásokat a következővel:
ss -nlt | grep 5432
A kimeneten az 5432-es portnak aktívnak kell lennie.
A pg_hba.conf konfigurálása fokozott biztonsághoz
Szerkessze a pg_hba.conf
fájl a finomhangolt hozzáférés-vezérléshez:
sudo nano /etc/postgresql/16/main/pg_hba.conf
Felhasználói és adatbázis-hozzáférés testreszabása
In pg_hba.conf
, megadhatja, hogy mely felhasználók és adatbázisok csatlakozhatnak, és mely címekről. Íme néhány gyakori konfiguráció:
- Felhasználó-specifikus hozzáférés: Cserélje ki az "összes" szót egy adott felhasználónévvel, hogy csak az adott felhasználóra korlátozza a hozzáférést.
- Adatbázis-specifikus hozzáférés: Adjon meg egy adott adatbázist az összes adatbázishoz való hozzáférés engedélyezése helyett.
- Cím korlátozások: Adjon meg konkrét IP-címeket vagy tartományokat (pl.
192.168.1.0/24
), hogy korlátozza a kapcsolatok eredetét.
A hitelesítési módszerek kiválasztása
A PostgreSQL különféle hitelesítési módszereket támogat:
- MD5: Jelszót igényel, és MD5-tel titkosítja.
- Jelszó: Egyszerű szöveges jelszavakat használ (kevésbé biztonságos, éles használatra nem ajánlott).
- Peer: OS-szintű felhasználói azonosságra támaszkodik (helyi kapcsolatoknál gyakori).
- Ident: Hasonló a „peer”-hez, amelyet általában hálózati kapcsolatokhoz használnak.
- SCRAM-SHA-256: Biztonságosabb módszer, ajánlott MD5 vagy jelszó helyett.
A teljesítmény hangolása postgresql.conf
A teljesítmény optimalizálásához vegye figyelembe ezeket a beállításokat postgresql.conf
:
- megosztott_pufferek: Beállítja a PostgreSQL által a megosztott memóriapufferekhez használt memória mennyiségét.
- munkamem: Beállítja a belső rendezési és kivonatolási műveletekhez használt memóriát.
- max_connections: Az adatbázishoz fűződő egyidejű kapcsolatok maximális számát szabályozza.
Monitoring és diagnosztika
Engedélyezze a részletes naplózást, hogy betekintést nyerjen az adatbázis teljesítményébe és a problémákba:
- log_statement: Állítsa 'all' értékre az összes végrehajtott SQL utasítás naplózásához.
- log_duration: Ha engedélyezve van, naplózza az egyes befejezett SQL utasítások időtartamát.
Következtetés
Áttekintettük a PostgreSQL 16 Ubuntu rendszeren történő beállításának átfogó útmutatóját, amely mindenre kiterjed a telepítéstől és a távoli hozzáférés konfigurálásától a biztonság tűzfalszabályokkal történő szigorításáig. Ne feledje, bár nagyszerű, hogy a PostgreSQL működik és fut, az igazi kulcs a rendszeres karbantartásban és biztonsági ellenőrzésekben rejlik.
Hasznos linkek
Íme néhány hasznos link a PostgreSQL 16 Ubuntu Linux rendszeren történő telepítéséhez:
- PostgreSQL 16 Kiadási megjegyzések: Olvassa el a PostgreSQL 16 kiadási megjegyzéseit, hogy megismerje az új funkciókat, fejlesztéseket és hibajavításokat.
- PostgreSQL GitHub Repository: Látogassa meg a hivatalos PostgreSQL GitHub adattárat, hogy hozzáférjen a forráskódhoz, jelentse a problémákat, és hozzájáruljon a fejlesztéshez.
- PostgreSQL dokumentáció: Nyissa meg az átfogó PostgreSQL dokumentációt a részletes telepítési, konfigurációs és használati útmutatókért.
- PostgreSQL közösség: Csatlakozzon a PostgreSQL közösséghez, hogy kapcsolatba lépjen más felhasználókkal, részt vegyen a beszélgetésekben és támogatást kapjon.