Weboldal keresés

A PostgreSQL adatbázis telepítése a Debian 10-ben


A PostgreSQL (néha Postgresként is emlegetik) a legfejlettebb nyílt forráskódú általános célú és objektumrelációs adatbázis-rendszer, bevált architektúrájával, amely minden nagyobb operációs rendszeren fut. Ez egy nagy teljesítményű, stabil, méretezhető és bővíthető adatbázisrendszer, amely lenyűgöző adatintegritást biztosít, és támogatja a hatékony kiegészítőket.

Fontos, hogy a PostgreSQL lehetővé teszi saját adattípusok meghatározását, egyéni függvények hozzáadását, akár kód írását különböző programozási nyelvekről, például C/C++, Java stb. anélkül, hogy újrafordítaná az adatbázist.

A PostgreSQL-t olyan jól ismert technológiai cégek használják, mint az Apple, a Fujitsu, a Red Hat, a Cisco, a Juniper Network stb.

Ebben a cikkben bemutatjuk, hogyan telepítheti, biztosíthatja és konfigurálhatja a PostgreSQL adatbázis-kiszolgálót Debian 10 rendszerben.

Követelmény:

  1. Telepítsen egy Debian 10 (Buster) Minimal Servert

A PostgreSQL Server telepítése Debian 10 rendszeren

A PostgreSQL adatbázis-kiszolgáló telepítéséhez használja az alapértelmezett APT csomagkezelőt, amely telepíti a PostgreSQL 11 szervert és klienst.

apt install postgresql-11 postgresql-client-11

A Debian rendszeren, mint minden más démonon, a Postgres adatbázis is azonnal inicializálódik a csomag telepítésének befejezése után, ahogy az a következő képernyőképen látható.

Annak ellenőrzésére, hogy a Postgres adatbázis valóban inicializálva van-e, használhatja a pg_isready segédprogramot, amely ellenőrzi a PostgreSQL-kiszolgáló kapcsolati állapotát, az alábbiak szerint.

pg_isready 

Emellett a systemd alatt a Postgres szolgáltatás is automatikusan elindul, és engedélyezve van a rendszerindításkor. A szolgáltatás megfelelő működésének ellenőrzéséhez futtassa a következő parancsot.

systemctl status postgresql

Az alábbiakban további hasznos systemctl parancsok találhatók a Systemd alatti Postgres szolgáltatás kezeléséhez.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql
systemctl reload postgresql 		#this reloads the service configuration

A PostgreSQL adatbázis biztonsága és konfigurálása

Alapértelmezés szerint a Postgres a szerepek fogalmát használja az adatbázis-hozzáférési engedélyek kezelésére, és az adatbázis-szerepkörök elvileg teljesen elkülönülnek az operációs rendszer felhasználóitól. A szerepkör lehet felhasználó vagy csoport, a bejelentkezési joggal rendelkező szerepkört pedig felhasználónak nevezzük.

A frissen inicializált rendszer mindig tartalmaz egy előre definiált, postgres nevű szerepet, és ugyanaz a neve, mint a postgres nevű operációs rendszer felhasználói fiókjának, amely a psql eléréséhez használatos. (Postgres shell) és más adatbázis-programok.

A Postgres rendszer felhasználói fiókja nincs jelszóval védve, a biztonság érdekében létrehozhat egy jelszót a passwd segédprogrammal.

passwd postgres

Ezenkívül a Postgres szerepkör (vagy ha úgy tetszik, adminisztratív adatbázis-felhasználó) alapértelmezés szerint nincs biztonságban. Azt is jelszóval kell biztosítani. Most váltson a postgres rendszerfelhasználói fiókra és a postgres szerepkörre (ne felejtse el beállítani az erős és biztonságos jelszót) az ábra szerint.

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Ezután lépjen ki a postgres fiókból az útmutató folytatásához.

Az ügyfél-hitelesítés konfigurálása

A fő Postgres konfigurációs fájl a /etc/postgresql/11/main/postgresql.conf címen található. Ezen a fájlon kívül a Postgres két másik, manuálisan szerkesztett konfigurációs fájlt is használ, amelyek az ügyfél hitelesítését szabályozzák.

Az ügyfél-hitelesítést a /etc/postgresql/11/main/pg_hba.conf konfigurációs fájl vezérli. A Postgres számos különböző ügyfél-hitelesítési módszert kínál, beleértve a jelszó alapú hitelesítést. Az ügyfélkapcsolatok hitelesítése az ügyfél gazdagép címe, adatbázisa és felhasználója alapján történik.

Ha a jelszó alapú hitelesítés mellett dönt, akkor az alábbi módszerek egyikét alkalmazhatja: md5 vagy jelszó, amelyek hasonlóan működnek, kivéve a jelszó továbbításának módját a kapcsolaton keresztül. , nevezetesen MD5-kivonattal és tiszta szöveggel.

Az md5 jelszavas hitelesítés használatával elkerülhető, hogy a hackerek jelszavakat szimatoljanak, és elkerülje a jelszavak egyszerű szövegként történő tárolását a szerveren. A jelszómódszer csak akkor használható biztonságosan, ha a kapcsolatot SSL titkosítás védi.

Ebben az útmutatóban bemutatjuk, hogyan kell konfigurálni az md5 jelszavas hitelesítést az ügyfél-hitelesítéshez.

vim /etc/postgresql/11/main/pg_hba.conf 

Keresse meg a következő sort, és módosítsa a hitelesítési módszert md5-ra, ahogy a képernyőképen látható.

local   all             all                                     md5

Mentse el a változtatásokat a fájlban, és lépjen ki belőle. Ezután alkalmazza a legutóbbi módosításokat a Postgres szolgáltatás újraindításával az alábbiak szerint.

systemctl restart postgresql

Új adatbázis és adatbázis-szerep/felhasználó létrehozása a PostgreSQL-ben

Ebben az utolsó részben bemutatjuk, hogyan hozhat létre új adatbázis-felhasználót és egy adatbázis-szerepet a kezeléséhez. Először váltson a postgres fiókra, és nyissa meg a Postgres shellt az alábbiak szerint.

su - postgres
psql

A „test_db” nevű adatbázis létrehozásához futtassa a következő SQL-parancsot.

postgres=# CREATE DATABASE test_db;

Ezután hozzon létre egy adatbázis-felhasználót (bejelentkezési jogokkal rendelkező szerepkört), aki az alábbiak szerint kezeli az új adatbázist.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

Ha a test_db fájlhoz test_user felhasználóként szeretne csatlakozni, futtassa a következő parancsot.

 
psql -d  test_db  -U test_user

További információkért tekintse meg a PostgreSQL 11 dokumentációját.

Következtetés

Egyelőre ennyi! Ebben az útmutatóban bemutattuk, hogyan kell telepíteni, biztonságossá tenni és konfigurálni a PostgreSQL adatbázis-kiszolgálót Debian 10 rendszerben. Van kérdése vagy megosztani gondolata? Használja az alábbi megjegyzés űrlapot, hogy elérjen bennünket.