Et skema i Po­st­greSQL giver dig mulighed for at samle flere tabeller, hvilket sikrer en bedre or­ga­ni­se­ring og enklere ad­mi­ni­stra­tion af databaser. Du kan oprette et skema ved hjælp af kom­man­do­en CREATE SCHEMA. Hvis du ikke længere har brug for et skema, kan du blot slette det med kom­man­do­en DROP SCHEMA.

Hvad er et Po­st­greSQL-skema?

I Po­st­greSQL er et skema en samling af tabeller. Det kan også omfatte indekser, sekvenser, datatyper og funk­tio­ner, hvilket gør det sam­men­lig­ne­ligt med en mappe. I mod­sæt­ning til mapper kan skemaer dog ikke indlejres. Denne måde at or­ga­ni­se­re da­ta­ba­seob­jek­ter på er især nyttig til ad­mi­ni­stra­tion af store databaser med mange tabeller.

Skemaer findes mellem da­ta­ba­se­ni­veau­et og de enkelte tabeller. Her er et overblik over den fulde hie­rar­ki­ske struktur i det populære da­ta­ba­sesty­rings­sy­stem:

  1. Instans (i Po­st­greSQL ofte benævnt »serveren«; in­de­hol­der flere databaser)
  2. Database
  3. Skema
  4. Tabel
  5. Række

For at oprette et nyt skema i Po­st­greSQL kan du bruge kom­man­do­en CREATE SCHEMA. For at slette et skema skal du bruge kom­man­do­en DROP SCHEMA. Vi vil se nærmere på begge kom­man­do­er nedenfor.

Hvordan ser syntaksen for Po­st­greSQL-skemaer ud?

Syntaksen til op­ret­tel­se af et skema i Po­st­greSQL er som følger:

CREATE SCHEMA name;
po­st­gresql

Denne kommando beder Po­st­greSQL om at oprette et skema i databasen. Efter selve kom­man­do­en skal du give skemaet et unikt navn.

Sådan til­knyt­tes en ny tabel til et Po­st­greSQL-skema

Når du opretter nye tabeller ved hjælp af Po­st­greSQL -kom­man­do­en CREATE TABLE, kan du tilknytte dem til et skema. Syntaksen for dette ser således ud:

CREATE TABLE your_schema.new_table (
…
);
po­st­gresql

For at vise, hvordan det fungerer, skal vi først oprette et skema med navnet customers:

CREATE SCHEMA customers;
po­st­gresql

Opret derefter en ny tabel med navnet customer_list_uk, og tilføj den til skemaet customers:

CREATE TABLE customers.customer_list_uk (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
country VARCHAR(50),
address VARCHAR(255)
);
po­st­gresql

Dette opretter en tom tabel i skemaet customers. Du kan nu udfylde denne tabel ved hjælp af Po­st­greSQL -kom­man­do­en INSERT INTO.

Note

Hvis der ikke angives noget skema, placeres nye tabeller au­to­ma­tisk i stan­dards­ke­ma­et (public).

Sådan slettes et skema med DROP SCHEMA

Du kan også slette et Po­st­greSQL-skema, hvis du ikke længere har brug for det. Hvis skemaet er tomt, kan du bruge følgende kommando:

DROP SCHEMA customers;
po­st­gresql

For at slette et skema og alle ob­jek­ter­ne i det skal du bruge CASCADE:

DROP SCHEMA customers CASCADE;
po­st­gresql

Denne kommando sletter skemaet og alle dets data permanent, så vær forsigtig, når du bruger den.

Gå til ho­ved­me­nu­en