PostgreSQL:n skeeman avulla voit ryh­mi­tel­lä useita tau­lu­koi­ta yhteen, mikä helpottaa tie­to­kan­to­jen jär­jes­te­lyä ja hallintaa. Voit luoda skeeman CREATE SCHEMA. Jos et enää tarvitse skeemaa, voit poistaa sen yk­sin­ker­tai­ses­ti DROP SCHEMA.

Mikä on PostgreSQL-tie­to­mal­li?

PostgreSQL:ssä skeema on tau­lu­koi­den kokoelma. Se voi sisältää myös ha­ke­mis­to­ja, se­kvens­se­jä, tie­to­tyyp­pe­jä ja funk­tioi­ta, minkä vuoksi se muis­tut­taa ha­ke­mis­toa. Toisin kuin ha­ke­mis­tot, skeemoja ei kui­ten­kaan voi sijoittaa toisiinsa. Tämä tapa jär­jes­tel­lä tie­to­kan­taob­jek­te­ja on erityisen hyö­dyl­li­nen hal­lit­taes­sa suuria tie­to­kan­to­ja, joissa on paljon tau­lu­koi­ta.

Skeemat si­jait­se­vat tie­to­kan­ta­ta­son ja yk­sit­täis­ten tau­lu­koi­den välissä. Tässä on yleis­kat­saus suositun tie­to­kan­nan hal­lin­ta­jär­jes­tel­män koko hie­rark­ki­seen ra­ken­tee­seen:

  1. Instance (jota PostgreSQL:ssä kutsutaan usein pal­ve­li­mek­si ja joka sisältää useita tie­to­kan­to­ja)
  2. Tie­to­kan­ta
  3. Skeema
  4. Taulukko
  5. Rivi

Voit luoda uuden skeeman PostgreSQL:ssä CREATE SCHEMA -ko­men­nol­la. Skeeman pois­ta­mi­seen käytetään DROP SCHEMA komentoa. Tar­kas­te­lem­me molempia komentoja tarkemmin seu­raa­vas­sa.

Mikä on PostgreSQL-skeemojen syntaksi?

PostgreSQL:ssä skeeman luomiseen käy­tet­tä­vä syntaksi on seuraava:

CREATE SCHEMA name;
postgresql

Tämä komento käskee PostgreSQL:ää luomaan skeeman tie­to­kan­taan. Komennon jälkeen sinun on annettava skeemalle yk­si­löl­li­nen nimi.

Kuinka lisätä uusi taulukko PostgreSQL-skeemaan

Kun luot uusia tau­lu­koi­ta PostgreSQL:n CREATE TABLE -ko­men­nol­la, voit liittää ne tiettyyn skeemaan. Komennon syntaksi on seuraava:

CREATE TABLE your_schema.new_table (
…
);
postgresql

Jotta voimme ha­vain­nol­lis­taa, miten tämä toimii, luodaan ensin skeema nimeltä customers:

CREATE SCHEMA customers;
postgresql

Luo seu­raa­vak­si uusi taulukko nimeltä customer_list_uk ja lisää se customers skeemaan:

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

Tämä luo tyhjän taulukon customers -skeemaan. Voit nyt täyttää tämän taulukon PostgreSQL:n INSERT INTO -ko­men­nol­la.

Huomio

Jos skeemaa ei ole mää­ri­tet­ty, uudet taulukot liitetään au­to­maat­ti­ses­ti ole­tuss­kee­maan (public).

Kuinka poistaa skeema, jossa on DROP SCHEMA

Voit myös poistaa PostgreSQL-skeeman, jos et enää tarvitse sitä. Jos skeema on tyhjä, voit käyttää seuraavaa komentoa:

DROP SCHEMA customers;
postgresql

Voit poistaa skeeman ja kaikki sen si­säl­tä­mät objektit CASCADE:

DROP SCHEMA customers CASCADE;
postgresql

Tämä komento poistaa skeeman ja kaikki sen tiedot pysyvästi, joten käytä sitä varovasti.

Siirry pää­va­lik­koon