Ett schema i Post­greSQL låter dig gruppera flera tabeller till­sam­mans, vilket möjliggör bättre or­ga­ni­sa­tion och enklare hantering av databaser. Du kan skapa ett schema med kommandot CREATE SCHEMA. Om du inte längre behöver ett schema kan du enkelt ta bort det med kommandot DROP SCHEMA.

Vad är ett Post­greSQL-schema?

I Post­greSQL är ett schema en samling tabeller. Det kan också innehålla index, sekvenser, datatyper och funk­tio­ner, vilket gör det liknande en katalog. Till skillnad från kataloger kan scheman dock inte vara nästlade. Denna metod för att or­ga­ni­se­ra da­ta­ba­s­ob­jekt är särskilt användbar för att hantera stora databaser som har många tabeller.

Scheman finns mellan da­ta­bas­ni­vån och enskilda tabeller. Här är en översikt över den full­stän­di­ga hi­e­rar­kis­ka struk­tu­ren för det populära da­ta­bashan­te­rings­sy­ste­met:

  1. Instans (kallas ofta server i Post­greSQL, in­ne­hål­ler flera databaser)
  2. Databas
  3. Schema
  4. Tabell
  5. Rad

För att skapa ett nytt schema i Post­greSQL kan du använda kommandot CREATE SCHEMA. För att ta bort ett schema använder du kommandot DROP SCHEMA. Vi kommer att titta närmare på båda kom­man­do­na nedan.

Vad är syntaxen för Post­greSQL-scheman?

Syntaxen för att skapa ett schema i Post­greSQL är följande:

CREATE SCHEMA name;
post­gresql

Detta kommando in­stru­e­rar Post­greSQL att skapa ett schema i databasen. Efter själva kommandot måste du tilldela schemat ett unikt namn.

Hur man tilldelar en ny tabell till ett Post­greSQL-schema

När du skapar nya tabeller med kommandot CREATE TABLE i Post­greSQL kan du tilldela dem till ett schema. Syntaxen för detta ser ut så här:

CREATE TABLE your_schema.new_table (
…
);
post­gresql

För att visa hur detta fungerar ska vi först skapa ett schema med namnet customers:

CREATE SCHEMA customers;
post­gresql

Sedan skapar du en ny tabell som heter customer_list_uk och lägger till den i schemat customers:

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

Detta skapar en tom tabell i schemat customers. Du kan nu fylla denna tabell med hjälp av kommandot INSERT INTO i Post­greSQL.

Notis

Om inget schema anges tilldelas nya tabeller au­to­ma­tiskt stan­dardsche­mat (public).

Hur man tar bort ett schema med DROP SCHEMA

Du kan också ta bort ett Post­greSQL-schema om du inte längre behöver det. Om schemat är tomt kan du använda följande kommando:

DROP SCHEMA customers;
post­gresql

För att ta bort ett schema och alla objekt i det, använd CASCADE:

DROP SCHEMA customers CASCADE;
post­gresql

Detta kommando tar bort schemat och alla dess data permanent, så var noga med att använda det med för­sik­tig­het.

Gå till huvudmeny