KURTI LENTELĘ schemoje Postgres

Kurti Lentele Schemoje Postgres



PostgreSQL yra viena iš populiariausių objektų santykių duomenų bazių sistemų. Tai nemokama atvirojo kodo programinė įranga, praplečianti SQL kalbą papildomomis funkcijomis, kad būtų galima tvarkyti sudėtingus duomenų darbo krūvius. Jis gali dirbti su įvairių tipų duomenimis, patikimas ir saugus. Sužinokite daugiau apie PostgreSQL funkcijas.

Šiame vadove sužinosime daugiau apie lentelių kūrimą schemoje PostgreSQL.







„PostgreSQL“ schemos

PostgreSQL duomenų bazėje gali būti viena ar daugiau pavadintų schemų, kurių kiekvienoje yra lentelės.



Tas pats objekto pavadinimas gali būti priskirtas kelioms schemoms be konflikto. Pavyzdžiui, galioja ši schema / lentelės medis:



  • schema_a
    • lentelė_1
    • lentelė_2
  • schema_b
    • lentelė_1
    • lentelė_2

Galite galvoti apie tokias schemas kaip katalogai operacinės sistemos lygiu. Skirtumas tas, kad negali būti įdėtų schemų. Sužinokite daugiau apie schemą PostgreSQL dokumentacija .





Gali būti keletas priežasčių, kodėl reikia įdiegti schemas:

  • Keli vartotojai, naudojantys tą pačią duomenų bazę, neprieštarauja vienas kitam.
  • Geresnis duomenų bazių organizavimas ir valdymas į logines grupes.
  • Trečiųjų šalių programos gali sukurti savo unikalią schemą nesusidurdamos su esamomis schemomis ar kitais objektais.

Lentelės „PostgreSQL“.

Bet kuri reliacinė duomenų bazė susideda iš kelių susijusių lentelių, kurių kiekviena susideda iš eilučių ir stulpelių. „PostgreSQL“ yra su keliomis įmontuotomis lentelėmis, kuriose yra įvairios sistemos informacijos. Tačiau mes taip pat galime sukurti naujas lenteles pagal vartotojo apibrėžtas duomenų bazes ir schemas.



Būtinos sąlygos:

Norėdami atlikti šiame vadove nurodytus veiksmus, jums reikės šių komponentų:

  • Tinkamai sukonfigūruota Linux sistema. Išmokti daugiau apie „Ubuntu“ diegimas „VirtualBox“. .
  • Tinkamas PostgreSQL įdiegimas. Patikrinkite „PostgreSQL“ diegimas „Ubuntu“. .
  • Prieiga prie a PostgreSQL vartotojas su NAUDOJIMO leidimas į duomenų bazę.

Šio vadovo tikslais naudosime postgres atlikti visus veiksmus PostgreSQL.

Lentelių kūrimas schemoje

Demonstracinės duomenų bazės kūrimas

Kaip minėta anksčiau, schemos egzistuoja duomenų bazėje. Demonstravimo tikslais sukuriame fiktyvią duomenų bazę, išvengdami bet kokios esamos duomenų bazės trikdžių.

Pasiekite PostgreSQL apvalkalą kaip postgres :

$ sudo -i -u postgres psql

Sukurkite naują duomenų bazę demo_db:

$ KURTI DUOMENŲ BAZĘ demo_db;

Patikrinkite, ar duomenų bazė sėkmingai sukurta:

$\l

Galiausiai prisijunkite prie naujai sukurtos duomenų bazės:

$ \connect demo_db;

Viešoji schema

Bet kuri nauja PostgreSQL duomenų bazė turi numatytąją schemą - viešas . Jei bandote sukurti objektą nenurodydami schemos pavadinimo, viešoji schema pasirenkama pagal numatytuosius nustatymus.

Ši komanda išspausdina visą turimą schemą PostgreSQL duomenų bazėje:

$ \dn

Arba taip pat galime naudoti šią SQL užklausą:

$ SELECT * FROM pg_catalog.pg_namespace;

Naujos schemos kūrimas

Norėdami sukurti naują schemą konkrečioje duomenų bazėje, komandų struktūra yra tokia:

$ KURTI SCHEMĄ ;

Laikydamiesi taisyklės sukurkime naują schemą demo_schema:

$ KURTI SCHEMĄ demo_schema;

Patikrinkite schemų sąrašą, kad patikrintumėte:

$ \dn

Lentelės kūrimas schemoje

Dabar, kai sukūrėme tikslinę schemą, galime ją užpildyti lentelėmis.

Lentelės kūrimo sintaksė yra tokia:

KURTI LENTELĘ . (

...
)

Čia:

  • schema : Šiame lauke nurodomas schemos, kurioje sukurta lentelė, pavadinimas. Jei reikšmė nepateikiama, lentelė sukuriama pagal viešas schema.

Demonstravimui sukuriame paprastą lentelę:

KURTI LENTELĘ demo_schema.demo_table (

PAVADINIMAS CHAR (64),

ID INT NOT NULL

);

Čia:

  • Laukas VARDAS nurodyta saugoti 64 simbolių eilutę.
  • Laukas ID yra sveikųjų skaičių reikšmės. Terminas ' NE NULL “ tai rodo ID negali būti tuščias arba nulinis.

Lentelės egzistavimą galime patikrinti naudodami šią užklausą:

$ SELECT * FROM demo_schema.demo_table;

Duomenų įterpimas į lentelę

Kai lentelė yra vietoje, dabar galime įterpti kai kurias vertes:

Įterpti į demo_schema.demo_table (NAME, ID)

VERTYBĖS

(„PQR“, 45),

(„IJK“, 99)

;

Patikrinkite lentelės turinį:

$ SELECT * FROM demo_schema.demo_table;

Schemos valdymas

Schemos leidimai

Naudodami schemos leidimą galime valdyti, koks vaidmuo kokį veiksmą gali atlikti konkrečioje schemoje. Iš visų galimų privilegijų palaiko tik schemas KURTI ir NAUDOTI.

Norėdami atnaujinti schemos leidimą tam tikram vaidmeniui, komandų struktūra yra tokia:

$ SUTEIKTI SCHEMoje ;

Norėdami atšaukti schemos leidimą tam tikram vaidmeniui, komandų struktūra yra tokia:

$ ATŠAUKTI SCHEMoje Į ;

Patvirtinkite pakeitimą naudodami šią komandą:

$\dn+

Keisti schemos ypatybes

Su pagalba KEITI SCHEMĄ teiginį, galime modifikuoti įvairias schemos savybes. Pavyzdžiui: nuosavybės teisė, schemos pavadinimas ir kt.

Norėdami pakeisti schemos pavadinimą, naudokite šią užklausą:

$ ALTER SCHEMA PAVADINIMAS Į ;

Norėdami pakeisti schemos nuosavybės teisę, naudokite šią užklausą:

$ ALTER SCHEMA OWNER TO ;

Atminkite, kad norint pakeisti nuosavybės teisę, dabartinis vartotojas turi turėti KURTI leidimas naudotis schema.

Schemos ištrynimas

Jei schema nebereikalinga, galime ją ištrinti naudodami NULEISTI užklausa:

$ NUMETkite SCHEMĄ

Jei schemoje yra koks nors objektas, mums reikia KASKADA modifikatorius:

$ DROP SCHEMA CASCADE;

Stalo valdymas

Lentelės leidimai

Kaip ir schemoje, kiekvienoje lentelėje taip pat yra leidimų valdymas, apibrėžiantis, kokį veiksmą lentelėje gali atlikti vaidmuo.

Norėdami patikrinti lentelės teises, naudokite šią psql komandą:

$ \dp

Pakeiskite lentelės ypatybes

Su pagalba PAKEISTI LENTELĘ teiginį, galime pakeisti daugybę jau esamos lentelės aspektų.

Pavyzdžiui, norint numesti stulpelį, užklausa atrodo taip:

$ ALTER TABLE DROP COLUMN ;

Norėdami pridėti naują stulpelį, galime naudoti šią užklausą:

$ ALTER TABLE ADD COLUMN ;

Taip pat galime nustatyti konkretaus stulpelio suspaudimą:

$ ALTER COLUMN NUSTATYTI KOMPRESIJA ;

Lentelės ištrynimas

Norėdami ištrinti lentelę iš schemos, galime naudoti NURODYMAS STALAS užklausa:

$ DROP TABLE ;

Atminkite, kad skirtingai nei schemos, NURODYMAS STALAS užklausa nesukels klaidos, nesvarbu, ar lentelė tuščia, ar ne.

Išvada

Šiame vadove mes parodėme, kaip sukurti lenteles schemoje naudojant PostgreSQL. Sukūrėme fiktyvią schemą fiktyvioje duomenų bazėje ir schemoje sukūrėme lentelę. Šiame vadove taip pat parodyta, kaip valdyti įvairias schemų ir lentelių ypatybes.

Norėdami užtikrinti didesnį duomenų vientisumą, galite sukonfigūruoti a loginė PostgreSQL replikacija . Kad PostgreSQL duomenų bazė būtų sveika, galite sukonfigūruoti autovakuuminis išvalyti mirusias eilutes, kurias paliko ištrinti įrašai.

Norėdami gauti daugiau PostgreSQL vadovų, peržiūrėkite PostgreSQL subkategorija .