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:
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:
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:
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 psqlOpprett en ny database demo_db:
$ Opprett database demo_db;Kontroller om databasen opprettes vellykket:
$ \ lTil 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:
$ \ dnAlternativt 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:
$ \ dnOpprette 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:
For demonstrasjon lager vi en enkel tabell:
Lag tabelldemo_schema.demo_table (Her:
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)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:
$ SlippskjemaHvis 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:
$ \ dpEndre 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.