Előfeltételek:
Az ebben az útmutatóban bemutatott lépések végrehajtásához a következő összetevőkre van szüksége:
- Egy megfelelően konfigurált Linux rendszer. A teszteléshez fontolja meg virtuális Ubuntu gép beállítása VirtualBox segítségével .
- Telepített és konfigurált PostgreSQL. Tudj meg többet PostgreSQL telepítése Ubuntura .
- Hozzáférés a nem root felhasználó sudo jogosultsággal .
PostgreSQL adatbázisok
PostgreSQL egy ingyenes és nyílt forráskódú SQL-kompatibilis objektum-relációs adatbázisrendszer. Relációs (SQL) és nem relációs (JSON) lekérdezéssel is működhet. Tudjon meg többet a a PostgreSQL szolgáltatásai .
A PostgreSQL-ben az adathierarchia a következő:
- fürt
- adatbázis
- séma
- táblázat (vagy más objektumok, például függvény)
Bármely PostgreSQL-példány több ügyfélkapcsolatot is fogadhat. Az ügyfélnek meg kell adnia az adatbázis nevét a csatlakozási kérelemben. Kapcsolatonként csak egy adatbázis engedélyezett. Egy kliens azonban több kapcsolatot is nyithat a kiszolgálóval, és egyszerre csatlakozhat egy vagy több adatbázishoz.
Adatbázis létrehozása PostgreSQL-ben
1. Kapcsolat megnyitása a szerverrel
Új adatbázis létrehozásához először csatlakozzon a PostgreSQL szerverhez:
$ sudo -én -ban ben postgres
$ psql
Vegye figyelembe, hogy az adatbázis létrehozása korlátozott művelet. Csak megfelelő jogosultsággal rendelkező felhasználók hajthatják végre a műveletet.
2. Az aktuális adatbázisok listázása
Futtassa a következő lekérdezést psql-ben a kiszolgálón lévő adatbázisok listájának kinyomtatásához:
A telepítés során a PostgreSQL létrehozza a szerver első adatbázisát, amely a „postgres”. Két további adatbázis is létrejön:
- sablon 1 : Amikor új adatbázist hoz létre a fürtön belül, a „template1” klónozásra kerül.
- sablon0 : A „sablon1” eredeti tartalmának érintetlen másolataként szolgál.
Ne hozzon létre objektumokat a „template1”-en belül, hacsak nem szeretné, hogy minden újonnan létrehozott adatbázis részei legyenek. Ha a „sablon1” módosul, a „template0” klónozható új adatbázis létrehozásához helyi helyi kiegészítések nélkül.
3. Új adatbázis létrehozása
Új adatbázis létrehozásához futtassa a következő lekérdezést psql-ben:
Itt:
- A jelenlegi szerepkör automatikusan felveszi az új adatbázis tulajdonosát.
- A tulajdonosnak megvan a kiváltsága, hogy a tulajdonost más szerepkörre cserélje.
Ha a művelet sikeres volt, ellenőrizze az adatbázisok listáját a következő paranccsal:
$ \lista
Privilegizált fiókkal a következő paranccsal is létrehozhatunk adatbázist valaki más számára:
$ ADATBÁZIS LÉTREHOZÁSA < db_name > TULAJDONOS < szerep > ;
A Createdb parancs
Az előző módszernél több lépést kellett végrehajtanunk az adatbázis létrehozásához:
- Csatlakozzon a PostgreSQL szerverhez psql használatával.
- Futtassa a lekérdezéseket új adatbázis létrehozásához.
A folyamat egyszerűsítése érdekében a PostgreSQL a Createb paranccsal érkezik. Alapvetően ezeknek a műveleteknek a burkolójaként működik. A Createb parancsot közvetlenül futtathatjuk a shellből.
1. Adatbázis létrehozása Createdb segítségével
Adatbázis létrehozásához az alapértelmezett adatbázis-kiszolgáló használatával használja a következő parancsot:
Ellenőrizze a műveletet a következő paranccsal:
$ psql -c '\lista'
Különféle lehetőségekkel finomhangolhatjuk a létrehozottb műveleteket is. Nézze meg a következő példát:
$ létrehozvab -h < házigazda > -o < kikötő > -T < sablon > -Ez --felhasználónév = < felhasználónév > --Jelszó --karbantartás-db = < karbantartási_adatbázis_neve > < db_name >Itt:
- -h : Ez a paraméter határozza meg a PostgreSQL szerver helyét (IP-cím vagy tartománynév).
- -o : A szerverhez való csatlakozás portja.
- -T : Az új adatbázis létrehozásakor használandó sablon. Ez lehet template0, template1 vagy bármilyen más adatbázis.
- -Ez : Az egyenértékű lekérdezést visszhangozza.
- -felhasználónév : A szerverhez való csatlakozáshoz szükséges felhasználónév.
- -Jelszó : Kényszeríti a Createb parancsot, hogy jelszót kérjen a kiszolgálóhoz való csatlakozás előtt. A legtöbb esetben ez nem szükséges, mivel a Createb automatikusan jelszót kér, ha a kiszolgáló megköveteli. Ennek kiderítésére azonban egy csatlakozási kísérletet fordít.
- –karbantartás-db : Az adatbázis, amelyhez csatlakozni kell az új adatbázis létrehozásakor. Ha nincs megadva, a postgres alapértelmezés szerint feltételezhető. Ha a postgres nem létezik, akkor a „template1” feltételezi.
Ideje működésbe hozni. Futtassa a következő Createb parancsot:
$ létrehozvab -h helyi kiszolgáló -o 5432 -T sablon0 -Ez --felhasználónév =postgres teszt_db
Ahogy a kimenet is sugallja, ez egyenértékű a következő lekérdezéssel:
$ ADATBÁZIS LÉTREHOZÁSA test_db TEMPLATE template0;További adatbázis-kezelés
Ebben a részben vessünk egy pillantást más adatbázis-kezelési műveletekre.
Az adatbázisok listázása
A kiszolgálón tárolt adatbázisok listázására több lehetőség is van. Az előző szakaszokban már bemutattunk egy módszert:
$ \listaEgy másik módszer a „pg_database” rendszerkatalógus vizsgálata:
$ SELECT adatnév FROM pg_adatbázis;
Adatbázis törlése
Adatbázis törléséhez futtassa a következő lekérdezést:
$ DROP ADATBÁZIS < db_name > ;
A Createb-hez hasonlóan a PostgreSQL is a dropdb paranccsal érkezik, amelyet a shellből tudunk futtatni. Vessen egy pillantást a következő példára:
$ dropdb -h < házigazda > -o < kikötő > --felhasználónév = < felhasználónév > --Jelszó -Ez < db_name >
Itt:
- -h : A PostgreSQL szerver, amelyhez csatlakozni kell.
- -o : A PostgreSQL szerver portja, amelyhez csatlakozni kell.
- -Ez : Az egyenértékű lekérdezést visszhangozza.
Vegye figyelembe, hogy a felhasználónak elegendő jogosultsággal kell rendelkeznie az adatbázis törléséhez.
Adatbázis-tulajdonjog megváltoztatása
Az adatbázis tulajdonosa bármilyen műveletet végrehajthat az adatbázison, beleértve az adatbázis törlését is. Alapértelmezés szerint az adatbázist létrehozó felhasználó van hozzárendelve tulajdonosként. A tulajdonjogot azonban átruházhatjuk egy másik felhasználóra.
Az adatbázis tulajdonosának megváltoztatásához futtassa a következő lekérdezést psql-ben:
$ ADATBÁZIS MÓDOSÍTÁSA < db_name > TULAJDONOS < új tulajdonos > ;
Ez azonban nem változtatja meg az adatbázisban lévő objektumok (beleértve a táblákat) tulajdonjogát. Ilyen esetekben más lekérdezést kell használnunk. Csatlakozzon a céladatbázishoz, és futtassa a következő lekérdezést:
$ ÚJRA OSZTÁLYOZÁS A TULAJDONÁBAN < régi_tulajdonos > NAK NEK < új tulajdonos > ;Bár kényelmes, ez a lekérdezés néhány figyelmeztetést tartalmaz:
- A postgreshez (adatbázishoz) való csatlakozáskor egyszerre több adatbázis tulajdonjogát is megváltoztathatja.
- Ne használja ezt a lekérdezést, ha az eredeti tulajdonos a postgres, mert megsértheti a teljes DB-példányt.
Bónusz: A lekérdezések futtatása a Shellből
Eddig a PostgreSQL konzolról futtattuk a lekérdezéseket. Mi a teendő, ha néhány adatbázis-funkciót szeretne beépíteni a szkriptjeibe? A createb és dropdb parancsok csak meghatározott műveleteket tudnak végrehajtani.
Ennek megoldására a psql-t használhatjuk csatornaként. A szabványos interaktív shell mellett a psql is futtathatja a lekérdezéseket menet közben.
1. módszer:
A parancs szerkezete a következő:
$ psql -h < házigazda > -o < kikötő > -BAN BEN < felhasználónév > -d < adatbázis > -c < lekérdezés >
Itt:
- -h : A PostgreSQL szerver címe.
- -o : A port, amelyhez csatlakozni kell (alapértelmezett érték 5432).
- -BAN BEN : A felhasználó, akihez csatlakozni kell.
- -d : Az adatbázis, amelyhez csatlakozni kell.
- -c : A végrehajtandó lekérdezés.
2. módszer:
A PostgreSQL egy másik érdekes funkcióval is rendelkezik: a csatlakozási URI. Ez egy ügyes módja az összes kapcsolati paraméter pontos kódolásának. A kapcsolati URI felépítése a következő:
$ postgresql: //< felhasználónév > : < Jelszó >@< házigazda > : < kikötő >/< db_name >Itt:
- postgresql vagy postgres : A PostgreSQL kapcsolati URI egyedi protokollja.
Adatbázishoz a csatlakozási URI használatával történő csatlakozáshoz használja a következő psql parancsot:
$ psql -d < kapcsolat_uri > -c < lekérdezés >
Következtetés
Megismertük az adatbázisok létrehozásának különféle módjait a PostgreSQL-ben. Bemutattuk, hogyan lehet adatbázist létrehozni a CREATE DATABASE lekérdezéssel. Bemutattuk az adatbázis létrehozását is a createb paranccsal. Ezen kívül néhány más fontos adatbázis-kezelési műveletet is elhallgattunk, mint például az adatbázisok törlése és a tulajdonos megváltoztatása.
Szeretne többet megtudni a PostgreSQL-ről? Nézze meg a PostgreSQL alkategória y, amely számos útmutatót tartalmaz a különféle funkciókról; például: funkciókat , reguláris kifejezések , táblázatok , és még sok más.