SKAPA TABELL i ett Schema Postgres

Skapa Tabell I Ett Schema Postgres



PostgreSQL är ett av de mest populära objektrelationella databassystemen. Det är gratis programvara med öppen källkod som utökar SQL-språket med ytterligare funktioner för att hantera komplexa dataarbetsbelastningar. Det kan fungera med olika datatyper, pålitligt och säkert. Lär dig mer om funktionerna i PostgreSQL.

I den här guiden kommer vi att lära oss mer om att skapa tabeller i ett schema i PostgreSQL.







Schema i PostgreSQL

En PostgreSQL-databas kan innehålla ett eller flera namngivna scheman, där varje schema innehåller tabeller.



Samma objektnamn kan tilldelas över flera scheman utan konflikt. Till exempel är följande schema/tabellträd giltigt:



  • schema_a
    • bord 1
    • Tabell 2
  • schema_b
    • bord 1
    • Tabell 2

Du kan tänka på scheman som kataloger på operativsystemnivå. Skillnaden är att det inte kan finnas kapslade scheman. Lär dig mer ingående om schema på PostgreSQL-dokumentation .





Det kan finnas flera anledningar till att implementera scheman:

  • Flera användare använder samma databas utan att komma i konflikt med varandra.
  • Bättre organisation och hantering av databaser till logiska grupper.
  • Tredjepartsappar kan skapa sitt unika schema utan att kollidera med befintliga scheman eller andra objekt.

Tabeller i PostgreSQL

Varje relationsdatabas består av flera relaterade tabeller, som var och en består av rader och kolumner. PostgreSQL kommer med flera inbyggda tabeller som innehåller olika systeminformation. Men vi kan också skapa nya tabeller under användardefinierade databaser och scheman.



Förutsättningar:

För att utföra stegen som visas i den här guiden behöver du följande komponenter:

  • Ett korrekt konfigurerat Linux-system. Lära sig mer om installera Ubuntu i VirtualBox .
  • En korrekt installation av PostgreSQL. Kolla upp installera PostgreSQL på Ubuntu .
  • Tillgång till en PostgreSQL-användare med ANVÄNDNINGstillstånd till en databas.

För syftet med denna guide kommer vi att använda postgres för att utföra alla åtgärder i PostgreSQL.

Skapa tabeller i ett schema

Skapa en demodatabas

Som nämnts tidigare finns scheman under en databas. För demonstrationsändamål skapar vi en dummydatabas, för att undvika störningar i någon befintlig databas.

Få åtkomst till PostgreSQL-skalet som postgres :

$ sudo -i -u postgres psql

Skapa en ny databas demo_db:

$ SKAPA DATABAS demo_db;

Kontrollera om databasen har skapats framgångsrikt:

$ \l

Slutligen, anslut till den nyskapade databasen:

$ \connect demo_db;

Det offentliga schemat

Varje ny databas i PostgreSQL kommer med ett standardschema - offentlig . Om du försöker skapa ett objekt utan att ange schemanamnet, väljs det offentliga schemat som standard.

Följande kommando skriver ut alla tillgängliga scheman i PostgreSQL-databasen:

$ \dn

Alternativt kan vi också använda följande SQL-fråga:

$ SELECT * FROM pg_catalog.pg_namespace;

Skapa ett nytt schema

För att skapa ett nytt schema under en specifik databas är kommandostrukturen som följer:

$ CREATE SCHEMA ;

Följ regeln, låt oss skapa ett nytt schema demo_schema:

$ CREATE SCHEMA demo_schema;

Kontrollera schemalistan för verifiering:

$ \dn

Skapa en tabell i ett schema

Nu när vi har skapat målschemat kan vi fylla det med tabeller.

Syntaxen för att skapa en tabell är följande:

SKAPA TABELL . (

...
)

Här:

  • schema : Det här fältet anger namnet på schemat där tabellen skapas. Om inget värde anges skapas tabellen under offentlig schema.

För demonstration skapar vi en enkel tabell:

SKAPA TABELL demo_schema.demo_table (

NAMN CHAR(64),

ID INT INTE NULL

);

Här:

  • Fältet NAMN specificeras för att lagra en sträng på 64 tecken.
  • Fältet ID innehåller heltalsvärdena. Termen ' INTE NULL ' indikerar att ID kan inte vara tom eller null.

Vi kan verifiera förekomsten av tabellen med hjälp av följande fråga:

$ SELECT * FRÅN demo_schema.demo_table;

Infoga data i tabellen

Med tabellen på plats kan vi nu infoga några värden:

INFOGA I demo_schema.demo_table (NAMN, ID)

VÄRDEN

('PQR', 45),

('IJK', 99)

;

Kontrollera innehållet i tabellen:

$ SELECT * FRÅN demo_schema.demo_table;

Schemahantering

Schemabehörigheter

Med hjälp av schemabehörighet kan vi hantera vilken roll som kan utföra vilken åtgärd på ett specifikt schema. Av alla möjliga privilegier stödjer scheman bara SKAPA och ANVÄND.

För att uppdatera schemabehörigheten för en viss roll är kommandostrukturen som följer:

$ GRAN PÅ SCHEMA TILL ;

För att återkalla schemabehörigheten för en viss roll är kommandostrukturen följande:

$ REVOKE PÅ SCHEMA TILL ;

Verifiera ändringen med följande kommando:

$ \dn+

Alter Schema Properties

Med hjälp av ÄNDRA SCHEMA kan vi modifiera de olika egenskaperna hos ett schema. Till exempel: ägande, schemanamn, etc.

För att ändra schemanamnet, använd följande fråga:

$ ALTER SCHEMA BYT NAMN TILL ;

För att ändra äganderätten till ett schema, använd följande fråga:

$ ALTER SCHEMA ÄGARE TILL ;

Observera att för att ändra äganderätten måste den nuvarande användaren ha SKAPA tillstånd till schemat.

Ta bort ett schema

Om ett schema inte längre är nödvändigt kan vi ta bort det med hjälp av SLÄPPA fråga:

$ DROP SCHEMA

Om schemat innehåller något objekt behöver vi KASKAD modifierare:

$ DROP SCHEMA CASCADE;

Bordshantering

Tabellbehörigheter

Liksom schema, kommer varje tabell också med behörighetshantering, som definierar vilken åtgärd en roll kan utföra på bordet.

För att kontrollera behörigheterna för en tabell, använd följande kommando i psql:

$ \dp

Ändra tabellegenskaper

Med hjälp av ÄNDRA TABELL uttalande, kan vi modifiera de många aspekterna av en redan existerande tabell.

Till exempel, för att släppa en kolumn, ser frågan ut så här:

$ ALTER TABLE SLIPP KOLUMN ;

För att lägga till en ny kolumn kan vi använda följande fråga:

$ ALTER TABLE ADD COLUMN ;

Vi kan också ställa in komprimeringen för en specifik kolumn:

$ ALTER COLUMN SET KOMPRESSION ;

Ta bort en tabell

För att ta bort en tabell från ett schema kan vi använda SLÄPP BORD fråga:

$ SLIPTA TABELL ;

Observera att till skillnad från scheman, SLÄPP BORD fråga kommer inte att ge ett fel oavsett om tabellen är tom eller inte.

Slutsats

I den här guiden visade vi hur man skapar tabellerna i ett schema i PostgreSQL. Vi skapade ett dummy-schema i en dummy-databas och skapade en tabell i schemat. Den här guiden visade också upp hur man hanterar de olika egenskaperna hos scheman och tabeller.

För bättre dataintegritet kan du konfigurera en logisk PostgreSQL-replikering . För att hålla PostgreSQL-databasen frisk kan du konfigurera autovakuum för att rensa de döda tuplarna som finns kvar av de raderade posterna.

För fler PostgreSQL-guider, kolla in PostgreSQL underkategori .