Weboldal keresés

A PostgreSQL telepítése és használata Ubuntu 18.04-en


A PostgreSQL (röviden: Postgres) egy nyílt forráskódú, hatékony, fejlett, nagy teljesítményű és stabil relációs-dokumentum adatbázis-rendszer. Használja és fejleszti az SQL nyelvet számos funkcióval párosítva a biztonságos adattárolás és -kezelés érdekében.

Hatékony, megbízható és méretezhető nagy, bonyolult adatmennyiségek kezelésére, valamint vállalati szintű és hibatűrő környezetek beállítására, miközben magas szintű adatintegritást biztosít. A Postgres emellett nagymértékben bővíthető olyan funkciókkal, mint például az API-kkal együtt járó indexek, így Ön saját megoldásokat fejleszthet az adattárolási kihívások megoldására.

Ebben a cikkben elmagyarázzuk, hogyan kell telepíteni a PostgreSQL-t egy Ubuntu 18.04 kiszolgálóra (a régebbi Ubuntu kiadásokon is működik), és megtanulunk néhány alapvető használati módot.

A PostgreSQL telepítése Ubuntura

Először hozzon létre egy /etc/apt/sources.list.d/pgdg.list fájlt, amely tárolja a lerakat konfigurációját, majd importálja a lerakat kulcsát a rendszerére, frissítse a rendszercsomagok listáját, és telepítse a Postgres csomagot. a következő parancsok használatával.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

A postgres telepítése után az adatbázis-szolgáltatás automatikusan elindul, és a következő parancs beírásával megerősítheti.

sudo systemctl status postgresql.service

A PostgreSQL szerepkörök és adatbázisok használata

A postgres rendszerben az ügyfél-hitelesítést a /etc/postgresql/10/main/pg_hba.conf konfigurációs fájl vezérli. Az alapértelmezett hitelesítési módszer a „peer” az adatbázis-adminisztrátor számára, ami azt jelenti, hogy lekéri az ügyfél operációs rendszer felhasználónevét az operációs rendszertől, és ellenőrzi, hogy az megegyezik-e a kért adatbázis-felhasználónévvel, hogy engedélyezze a hozzáférést a helyi kapcsolatokhoz. (ahogy a következő képernyőképen látható).

A telepítés során egy postgres nevű rendszer felhasználói fiókot hoztak létre jelszó nélkül, ez egyben az alapértelmezett adatbázis-adminisztrátor felhasználónév is.

sudo vim /etc/postgresql/10/main/pg_hba.conf

Ezenkívül a postgres alatt az adatbázis-hozzáférési engedélyek kezelése szerepek révén történik. Egy szerepkör tekinthető adatbázis-felhasználónak vagy adatbázis-felhasználók csoportjának, attól függően, hogy a szerepkör hogyan van beállítva.

Az alapértelmezett szerepkör szintén a postgres. Fontos, hogy az adatbázis-szerepkörök elvileg teljesen függetlenek az operációs rendszer felhasználóitól, de gyakorlatilag nem különülnek el (például ha az ügyfél-hitelesítésről van szó).

Fontos, hogy a szerepkörök birtokolhatnak adatbázis-objektumokat, és ezekhez az objektumokhoz jogosultságokat rendelhetnek más szerepkörökhöz, hogy szabályozzák, hogy ki melyik objektumhoz férhet hozzá. Ezenkívül lehetőség van egy szerepkör tagságának megadására egy másik szerepkör számára.

Ha az alapértelmezett postgres szerepkörön kívül más szerepköröket is titkosított jelszavak használatára szeretne beállítani a hozzájuk rendelt adatbázisok kezelésére, módosítania kell a sort a következőre.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

A PostgreSQL használata Ubuntun

Miután mindent beállított, elérheti a postgres rendszerfiókot a következő paranccsal, ahol a -i jelző azt mondja a sudonak, hogy futtassa a célfelhasználó jelszava adatbázis-bejegyzése által megadott shellt egy login shell.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

A postgres shell közvetlen eléréséhez anélkül, hogy először hozzá kellene férnie a postgres felhasználói fiókhoz, futtassa a következő parancsot.

sudo -i -u postgres psql

A következő parancs beírásával kiléphet a postgres programból.

postgres=# \q

Hozzon létre PostgreSQL adatbázis-szerepeket

Hozzon létre egy új felhasználói szerepet a következő paranccsal.

postgres=# CREATE ROLE tecmint;

LOGIN attribútummal rendelkező szerepkör létrehozásához használja a következő parancsot (a LOGIN attribútummal rendelkező szerepkörök azonosnak tekinthetők az adatbázis-felhasználókkal).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

Szerepkör jelszóval is létrehozható. Ez akkor hasznos, ha az ügyfél-hitelesítési módszert úgy konfigurálta, hogy a felhasználók titkosított jelszót kérjenek az adatbázishoz való csatlakozáskor.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Sorolja fel a meglévő PostgreSQL adatbázis-szerepeket

A meglévő felhasználói szerepkörök felsorolásához használja ezen parancsok bármelyikét.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Dobj el egy PostgreSQL adatbázis-szerepet

Bármely meglévő felhasználói szerepkör elvetéséhez használja a DROP ROLE parancsot az ábrán látható módon.

postgres=# DROP ROLE tecmint;

Hozzon létre egy PostgreSQL adatbázist

Miután létrehozott egy szerepkört egy adott névvel (például tecmint felhasználó), létrehozhat egy adatbázist (a szereppel megegyező névvel), amelyet az ábra szerint a szerepkör kezel.

postgres=# CREATE DATABASE tecmint;

Most a tecmint adatbázis kezeléséhez nyissa meg a postgres shellt tecmint szerepkörként, és adja meg jelszavát az alábbiak szerint.

sudo -i -u tecmint psql

Hozzon létre egy PostgreSQL táblát

A táblázatok létrehozása annyira egyszerű, hogy létrehozunk egy szerzők nevű teszttáblázatot, amely információkat tárol a TecMint.com szerzőiről, amint az látható.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

A táblázat létrehozása után próbálja meg feltölteni néhány adattal az alábbiak szerint.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

A táblázatban tárolt adatok megtekintéséhez futtassa a SELECT parancsot.

tecmint=> SELECT * FROM authors;

Sorolja fel a PostgreSQL adatbázistáblázatokat

A következő paranccsal listázhatja az aktuális adatbázis összes tábláját.

tecmint=>\dt

PostgreSQL tábla törlése/dobása

Ha törölni szeretne egy táblát az aktuális adatbázisból, használja a DROP parancsot.

tecmint=> DROP TABLE authors;

Az összes PostgreSQL adatbázis listázása

Az összes adatbázis listázásához használja a következő parancsok bármelyikét.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Töröljön/dobjon egy PostgreSQL adatbázist

Ha törölni szeretne egy adatbázist, használja például a DROP parancsot.

tecmint=>DROP DATABASE tecmint;

Váltson másik PostgreSQL-adatbázisra

A következő paranccsal egyszerűen válthat egyik adatbázisról a másikra.

tecmint=>\connect database_name

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

Egyelőre ennyi! Ebben a cikkben elmagyaráztuk, hogyan kell telepíteni és használni a PostgreSQL adatbázis-kezelő rendszert az Ubuntu 18.04 rendszeren. Kérdéseiteket, gondolataitokat kommentben küldheti el nekünk.