PostgreSQL je jedním z nejpopulárnějších objektově relačních databázových systémů. Je to bezplatný software s otevřeným zdrojovým kódem, který rozšiřuje jazyk SQL o další funkce, aby zvládl komplexní datové zátěže. Dokáže pracovat s různými typy dat, je spolehlivý a bezpečný. Zjistěte více o funkcích PostgreSQL.
V této příručce se dozvíme více o vytváření tabulek ve schématu v PostgreSQL.
Schémata v PostgreSQL
Databáze PostgreSQL může obsahovat jedno nebo více pojmenovaných schémat, přičemž každé schéma obsahuje tabulky.
Stejný název objektu lze bez konfliktu přiřadit více schématům. Platí například následující strom schématu/tabulky:
- schéma_a
- stůl 1
- tabulka_2
- schéma_b
- stůl 1
- tabulka_2
Schémata si můžete představit jako adresáře na úrovni operačního systému. Rozdíl je v tom, že zde nemohou být vnořená schémata. Zjistěte více do hloubky o schématu na PostgreSQL dokumentace .
Důvodů pro implementaci schémat může být několik:
- Více uživatelů používá stejnou databázi bez vzájemného konfliktu.
- Lepší organizace a správa databází do logických skupin.
- Aplikace třetích stran mohou vytvořit své jedinečné schéma, aniž by kolidovaly s existujícími schématy nebo jinými objekty.
Tabulky v PostgreSQL
Každá relační databáze se skládá z několika souvisejících tabulek, z nichž každá se skládá z řádků a sloupců. PostgreSQL přichází s několika vestavěnými tabulkami, které obsahují různé systémové informace. Můžeme však také vytvářet nové tabulky pod uživatelsky definovanými databázemi a schématy.
Předpoklady:
K provedení kroků uvedených v této příručce budete potřebovat následující součásti:
- Správně nakonfigurovaný systém Linux. Dozvědět se víc o instalace Ubuntu do VirtualBoxu .
- Správná instalace PostgreSQL. Překontrolovat instalace PostgreSQL na Ubuntu .
- Přístup k a Uživatel PostgreSQL s Povolení POUŽÍVÁNÍ do databáze.
Pro účely této příručky použijeme postgres provádět všechny akce v PostgreSQL.
Vytváření tabulek ve schématu
Vytvoření demo databáze
Jak již bylo zmíněno dříve, schémata existují pod databází. Pro demonstrační účely vytváříme fiktivní databázi, aby nedošlo k narušení jakékoli existující databáze.
Přistupujte k prostředí PostgreSQL jako postgres :
$ sudo -i -u postgres psql
Vytvořte novou databázi demo_db:
$ CREATE DATABASE demo_db;
Ověřte, zda je databáze úspěšně vytvořena:
$ \l
Nakonec se připojte k nově vytvořené databázi:
$ \connect demo_db;
Veřejné schéma
Každá nová databáze v PostgreSQL přichází s výchozím schématem – veřejnost . Pokud se pokusíte vytvořit objekt bez zadání názvu schématu, je ve výchozím nastavení vybráno veřejné schéma.
Následující příkaz vytiskne všechna dostupná schéma v databázi PostgreSQL:
$ \dn
Alternativně můžeme také použít následující SQL dotaz:
$ SELECT * FROM pg_catalog.pg_namespace;
Vytvoření nového schématu
Chcete-li vytvořit nové schéma v konkrétní databázi, struktura příkazu je následující:
$ CREATE SCHEMAPodle pravidla vytvořte nové schéma demo_schema:
$ CREATE SCHEMA demo_schema;
Zkontrolujte seznam schémat pro ověření:
$ \dn
Vytvoření tabulky ve schématu
Nyní, když máme vytvořené cílové schéma, můžeme jej naplnit tabulkami.
Syntaxe pro vytvoření tabulky je následující:
CREATE TABLE...
)
Tady:
- schéma : Toto pole určuje název schématu, ve kterém je tabulka vytvořena. Pokud není zadána žádná hodnota, tabulka se vytvoří pod veřejnost schéma.
Pro demonstraci vytvoříme jednoduchou tabulku:
CREATE TABLE demo_schema.demo_table (NAME CHAR(64),
ID INT NENÍ NULL
);
Tady:
- Pole NÁZEV je určen pro uložení řetězce 64 znaků.
- Pole ID obsahuje celočíselné hodnoty. Termín ' NENULOVÝ “ to naznačuje ID nemůže být prázdný nebo null.
Existenci tabulky můžeme ověřit pomocí následujícího dotazu:
$ SELECT * FROM demo_schema.demo_table;
Vkládání dat do tabulky
S tabulkou na místě nyní můžeme vložit některé hodnoty:
INSERT INTO demo_schema.demo_table (NAME, ID)HODNOTY
('PQR', 45),
('IJK', 99)
;
Zkontrolujte obsah tabulky:
$ SELECT * FROM demo_schema.demo_table;
Správa schémat
Oprávnění schématu
S pomocí oprávnění schématu můžeme spravovat, jaká role může provádět jakou akci na konkrétním schématu. Ze všech možných oprávnění podporují pouze schémata VYTVOŘTE A POUŽÍVEJTE.
Chcete-li aktualizovat oprávnění schématu pro konkrétní roli, struktura příkazu je následující:
$ GRANT
Chcete-li zrušit oprávnění schématu pro konkrétní roli, struktura příkazu je následující:
$ REVOKEOvěřte změnu pomocí následujícího příkazu:
$ \dn+
Změnit vlastnosti schématu
S pomocí ZMĚNIT SCHÉMA můžeme modifikovat různé vlastnosti schématu. Například: vlastnictví, název schématu atd.
Chcete-li změnit název schématu, použijte následující dotaz:
$ ALTER SCHEMA
Chcete-li změnit vlastnictví schématu, použijte následující dotaz:
$ ALTER SCHEMA
Všimněte si, že ke změně vlastnictví musí mít aktuální uživatel VYTVOŘIT povolení ke schématu.
Smazání schématu
Pokud již schéma není nutné, můžeme jej odstranit pomocí POKLES dotaz:
$ DROP SCHEMA
Pokud schéma obsahuje nějaký objekt, potřebujeme KASKÁDA modifikátor:
$ DROP SCHEMA
Správa tabulek
Oprávnění tabulky
Stejně jako schéma je každá tabulka dodávána se správou oprávnění, která definuje, jakou akci může role v tabulce provádět.
Chcete-li zkontrolovat oprávnění tabulky, použijte následující příkaz v psql:
$ \dp
Změnit vlastnosti tabulky
S pomocí ALTER TABULKA můžeme upravit četné aspekty již existující tabulky.
Chcete-li například zrušit sloupec, dotaz vypadá takto:
$ ALTER TABLE
Chcete-li přidat nový sloupec, můžeme použít následující dotaz:
$ ALTER TABLE
Můžeme také nastavit kompresi pro konkrétní sloupec:
$ ALTER COLUMNSmazání tabulky
Chcete-li odstranit tabulku ze schématu, můžeme použít DOP STŮL dotaz:
$ DROP TABLE
Všimněte si, že na rozdíl od schémat, DOP STŮL dotaz nevyvolá chybu, zda je tabulka prázdná nebo ne.
Závěr
V této příručce jsme si ukázali, jak vytvořit tabulky ve schématu v PostgreSQL. Vytvořili jsme fiktivní schéma v fiktivní databázi a vytvořili tabulku v rámci schématu. Tato příručka také ukázala, jak spravovat různé vlastnosti schémat a tabulek.
Pro lepší integritu dat můžete nakonfigurovat a logická replikace PostgreSQL . Chcete-li udržet databázi PostgreSQL v pořádku, můžete nakonfigurovat autovakuum vyčistit mrtvé n-tice, které zůstaly po odstraněných záznamech.
Další příručky PostgreSQL najdete na Podkategorie PostgreSQL .