Összefoglaló: Ez a cikk az ALTER DATABASE, RENAME DATABASE és DROP DATABASE utasításokat, valamint a CREATE DATABASE WITH TEMPLATE utasítás használatát tárgyalja egy adatbázis másolásához.
1. ALTER DATABASE utasítások
a. Az adatbázis tulajdonosának megváltoztatása
b. Sablon adatbázis beállítása
c. Új kapcsolatok korlátozása egy adott adatbázishoz
d. A kapcsolati korlát korlát korlátozása egy adott adatbázishoz
e. Az adatbázis alapértelmezett táblaterületének megváltoztatása
2. RENAME DATABASE utasítások
3. DROP DATABASE utasítások
4. Adatbázis szerkezetének és adatainak másolása
Ez a bejegyzés a PostgreSQL adatbázisok PSQL promptból történő kezeléséhez rendelkezésre álló néhány parancsot vizsgálja. Áttekintjük az adatbázis módosításának, átnevezésének, törlésének és másolásának módszereit.
Megismételjük néhány alapvető PostgreSQL parancsot:
1. Adatbázis létrehozásának szintaxisa:
CREATE DATABASE name user_name ] template ] encoding ] lc_collate ] lc_ctype ] tablespace ] connlimit ] ]
2. A jelenlegi fürtben lévő adatbázisok listájának lekérdezése:
a. \l+
b. select * from pg_database ;
- ALTER database utasítások
- Az adatbázis tulajdonosának megváltoztatása
- Szintaxis
- Példa
- Sablonadatbázis beállítása
- Szintaktika
- Példa
- Új kapcsolatok korlátozása egy adott adatbázishoz
- Szintaktika
- Példa
- Kapcsolatlimit korlátozása egy adott adatbázishoz
- Szintaktika
- Példa
- Az adatbázis alapértelmezett asztaltérének megváltoztatása
- Szintaktika
- Példa
- RENAME adatbázis utasítások
- Szintaktika
- Példa
- DROP adatbázis utasítások
- Szintaktika
- Példa
ALTER database utasítások
ALTER database utasításokkal módosíthatjuk a céladatbázis meglévő attribútumait.
Az adatbázis tulajdonosának megváltoztatása
Az adatbázis tulajdonosának megváltoztatásához a csatlakozó felhasználónak az adatbázis tulajdonosának kell lennie, valamint az új tulajdonos szerepkör közvetlen vagy közvetett tagjának, és a csatlakozó felhasználónak rendelkeznie kell a CREATEDB jogosultsággal.
Szintaxis
ALTER DATABASE <database_name> OWNER TO <new_owner>;
Példa
ALTER DATABASE test OWNER TO user;
Sablonadatbázis beállítása
Egy fürtben alapértelmezés szerint csak két sablonadatbázis van jelen – template0 és template1. Más adatbázisok alapértelmezés szerint nem használhatók sablonként. Abban az esetben, ha egyéni adatbázis-sablont szeretne létrehozni a környezetéhez, használhatja ezt az opciót.
Szintaktika
ALTER DATABASE <database_name> WITH IS_TEMPLATE = true;
Példa
ALTER DATABASE test WITH IS_TEMPLATE = true;
Új kapcsolatok korlátozása egy adott adatbázishoz
Ez az opció nagyon hasznos az adatbázis karbantartásához. Az adatbázis-karbantartási ablakban korlátozhatja az új kapcsolatokat egy adott adatbázishoz. Az opció engedélyezéséhez egyetlen felhasználó sem csatlakozik a céladatbázishoz.
Szintaktika
ALTER DATABASE <database_name> WITH ALLOW_CONNECTIONS = false;
Példa
ALTER DATABASE test2 WITH ALLOW_CONNECTIONS = false;
Kapcsolatlimit korlátozása egy adott adatbázishoz
A biztonság és az optimális teljesítmény érdekében korlátozhatja a céladatbázishoz csatlakozható kapcsolatok számát. Alapértelmezés szerint ennek a paraméternek az értéke korlátlan – azaz -1 – minden adatbázis esetében.
Szintaktika
ALTER DATABASE <database_name> WITH CONNECTION LIMIT <max_number_of_connections>;
Példa
ALTER DATABASE test2 WITH CONNECTION LIMIT 10;
Az adatbázis alapértelmezett asztaltérének megváltoztatása
Az alapértelmezett asztaltér objektumait, például a táblákat és indexeket fizikailag áthelyezheti az alapértelmezett asztaltérből egy új egyéni asztaltérbe. Az új alapértelmezett asztaltérnek üresnek kell lennie az adott adatbázis számára, és e tevékenység során senki sem kapcsolódhat az adatbázishoz.
Figyelem: Ezt a módosítást az adatbázis tulajdonosának vagy egy szuperfelhasználónak kell elvégeznie, és a felhasználónak CREATE jogosultsággal kell rendelkeznie az új asztaltérhez.
Szintaktika
ALTER DATABASE <database_name> SET TABLESPACE <custom_tablespace_name>;
Példa
ALTER DATABASE test SET TABLESPACE custom_tblspc;
RENAME adatbázis utasítások
Az aktuális adatbázis nevét a RENAME segítségével módosíthatja. Azonban nem nevezheti át az adatbázist, miközben más kapcsolatok is hozzáférnek hozzá.
Figyelem: Ezt a módosítást az adatbázis tulajdonosának vagy a szuperfelhasználónak kell elvégeznie, és a felhasználónak CREATEDB jogosultságokkal kell rendelkeznie.
Szintaktika
ALTER DATABASE <old_database_name> RENAME TO <new_database_name>;
Példa
ALTER DATABASE test RENAME TO test123;
DROP adatbázis utasítások
Elhagyhatja a céladatbázist. Ezzel eltávolítja az adatbázis katalógusbejegyzéseit, és törli az adatokat tartalmazó könyvtárat. Csak az adatbázis tulajdonosa hajthatja végre. Továbbá nem hajtható végre, amíg Ön vagy bárki más csatlakozik a céladatbázishoz.
Figyelem: A DROP DATABASE nem vonható vissza.
Szintaktika
DROP DATABASE <database_name>;
Példa
DROP DATABASE test2;