Lag tabell i et skjema postgres

Lag tabell i et skjema postgres

PostgreSQL er et av de mest populære objektrelasjonelle databasesystemene. Det er gratis og åpen kildekode-programvare som utvider SQL-språket med tilleggsfunksjoner for å håndtere den komplekse dataarbeidsmengden. Det kan fungere med forskjellige datatyper, pålitelige og sikre. Lær mer om funksjonene i PostgreSQL.

I denne guiden lærer vi mer om å lage tabeller i et skjema i PostgreSQL.

Skjemaer i PostgreSql

En postgreSQL -database kan inneholde ett eller flere navngitte skjemaer, hvert skjema som inneholder tabeller.

Det samme objektnavnet kan tilordnes på tvers av flere skjemaer uten konflikt. For eksempel er følgende skjema/bordtre gyldig:

  • schema_a
    • tabell_1
    • tabell_2
  • schema_b
    • tabell_1
    • tabell_2

Du kan tenke på skjemaer som kataloger på operativsystemnivå. Forskjellen er at det ikke kan være nestede skjemaer. Lær mer dyptgående om skjema på postgreSQL-dokumentasjon.

Det kan være flere grunner til å implementere skjemaene:

  • Flere brukere som bruker den samme databasen uten å være i konflikt med hverandre.
  • Bedre organisering og styring av databaser i logiske grupper.
  • Tredjepartsapper kan lage sitt unike skjema uten å kollidere med eksisterende skjemaer eller andre objekter.

Tabeller i PostgreSql

Enhver relasjonsdatabase består av flere relaterte tabeller, hver bestående av rader og kolonner. PostgreSQL kommer med flere innebygde tabeller som inneholder forskjellige systeminfo. Vi kan imidlertid også lage nye tabeller under brukerdefinerte databaser og skjemaer.

Forutsetninger:

For å utføre trinnene som er demonstrert i denne guiden, trenger du følgende komponenter:

  • Et riktig konfigurert Linux-system. Lær mer om å installere Ubuntu i VirtualBox.
  • En riktig installasjon av PostgreSQL. Sjekk ut å installere PostgreSql på Ubuntu.
  • Tilgang til en PostgreSQL -bruker med brukstillatelse til en database.

For denne guiden vil vi bruke Postgres å utføre alle handlingene i PostgreSQL.

Lage tabeller i et skjema

Opprette en demo -database

Som nevnt tidligere eksisterer det skjemaer under en database. For demonstrasjonsformål oppretter vi en dummy -database, og unngår forstyrrelse av enhver eksisterende database.

Få tilgang til PostgreSql -skallet som Postgres:

$ sudo -i -u postgres psql

Opprett en ny database demo_db:

$ Opprett database demo_db;

Kontroller om databasen opprettes vellykket:

$ \ l

Til slutt, koble til den nyopprettede databasen:

$ \ Connect Demo_DB;

Det offentlige skjemaet

Enhver ny database i PostgreSQL kommer med et standardskjema - offentlig. Hvis du prøver å opprette et objekt uten å spesifisere skjemamannelsesnavnet, er det offentlige skjemaet valgt som standard.

Følgende kommando skriver ut alt tilgjengelig skjema i PostgreSQL -databasen:

$ \ dn

Alternativt kan vi også bruke følgende SQL -spørring:

$ Velg * fra pg_catalog.pg_namespace;

Opprette et nytt skjema

For å lage et nytt skjema under en spesifikk database, er kommandostrukturen som følger:

$ Lage skjema;

Etter regelen, la oss lage et nytt skjema Demo_schema:

$ Opprett skjema demo_schema;

Kontroller skjemalisten for verifisering:

$ \ dn

Opprette et bord i et skjema

Nå som vi har opprettet målskjemaet, kan vi befolke det med tabeller.

Syntaksen for å lage en tabell er som følger:

Lag tabell . (
..
)

Her:

  • skjema: Dette feltet spesifiserer navnet på skjemaet der tabellen opprettes. Hvis det ikke er gitt noen verdi, opprettes tabellen under offentlig skjema.

For demonstrasjon lager vi en enkel tabell:

Lag tabelldemo_schema.demo_table (
Navn Char (64),
Id int ikke null
);

Her:

  • Feltet NAVN er spesifisert for å lagre en streng på 64 tegn.
  • Feltet Id Inneholder heltallverdiene. Begrepet “IKKE NULL”Indikerer det Id kan ikke være tom eller null.

Vi kan bekrefte eksistensen av tabellen ved hjelp av følgende spørsmål:

$ Velg * fra demo_schema.demo_table;

Sette inn data i tabellen

Med tabellen på plass, kan vi nå sette inn noen verdier:

Sett inn Demo_schema.demo_table (navn, id)
Verdier
('PQR', 45),
('IJK', 99)
;

Sjekk innholdet i tabellen:

$ Velg * fra demo_schema.demo_table;

Skjemadministrasjon

Skjematillatelser

Ved hjelp av skjematstillatelse kan vi styre hvilken rolle som kan utføre hvilken handling på et bestemt skjema. Av alle mulige privilegier støtter skjemaer bare Lage og bruke.

For å oppdatere skjematillatelsen for en bestemt rolle, er kommandostrukturen som følger:

$ Tilskudd på skjema til;

For å tilbakekalle skjematstillingen for en bestemt rolle, er kommandostrukturen som følger:

$ Tilbakekall på skjemaet til;

Kontroller endringen ved å bruke følgende kommando:

$ \ dn+

Endre skjemaegenskaper

Ved hjelp av Endre skjemaet Uttalelse, vi kan endre de forskjellige egenskapene til et skjema. For eksempel: eierskap, skjema navn osv.

For å endre skjemaavnet, bruk følgende spørsmål:

$ Alter skjemaet nytt navn til;

For å endre eierskapet til et skjema, bruk følgende spørsmål:

$ Alter skjemaeier til;

Merk at for å endre eierskapet, må den nåværende brukeren ha SKAPE tillatelse til skjemaet.

Slette et skjema

Hvis et skjema ikke lenger er nødvendig, kan vi slette det ved å bruke MISTE spørsmål:

$ Slippskjema

Hvis skjemaet inneholder noe objekt, trenger vi Kaskade modifiserer:

$ Drop schema cascade;

Tabellstyring

Bordtillatelser

Som skjema kommer hver tabell også med tillatelsesstyring, og definerer hvilken handling som en rolle kan utføre på bordet.

For å sjekke tillatelsene til en tabell, bruk følgende kommando i PSQL:

$ \ dp

Endre tabellegenskaper

Ved hjelp av Endre tabellen Uttalelse, vi kan endre de mange aspektene ved en allerede eksisterende tabell.

For å slippe en kolonne ser for eksempel spørringen slik:

$ Alter tabelldråpe kolonne;

For å legge til en ny kolonne, kan vi bruke følgende spørsmål:

$ Alter tabell Legg til kolonne;

Vi kan også sette komprimeringen for en bestemt kolonne:

$ Alter kolonnesett komprimering;

Slette en tabell

For å slette en tabell fra et skjema, kan vi bruke Drop Table -spørringen:

$ Drop tabell;

Merk at i motsetning til skjemaer, er Drop Table Spørsmål vil ikke gi en feil om tabellen er tom eller ikke.

Konklusjon

I denne guiden demonstrerte vi hvordan du lager tabellene i et skjema i PostgreSQL. Vi opprettet et dummy -skjema i en dummy -database og opprettet en tabell i skjemaet. Denne guiden viste også frem hvordan man administrerer de forskjellige egenskapene til skjemaer og tabeller.

For bedre dataintegritet kan du konfigurere en logisk postgreSQL -replikasjon. For å holde PostgreSQL -databasen sunn, kan du konfigurere autovacuum for å rense de døde tuplene som blir liggende av de slettede postene.

For flere PostgreSQL-guider, sjekk ut PostgreSQL-underkategorien.