Sukurkite duomenų bazę „PostgreSQL“ naudodami komandą Createdb

Sukurkite Duomenu Baze Postgresql Naudodami Komanda Createdb



Šiame vadove sužinosime, kaip sukurti duomenų bazę PostgreSQL naudojant komandą Createb.

Būtinos sąlygos:

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

  • Tinkamai sukonfigūruota Linux sistema. Norėdami išbandyti, apsvarstykite virtualios Ubuntu mašinos nustatymas naudojant VirtualBox .
  • Įdiegta ir sukonfigūruota PostgreSQL. Išmokti daugiau apie „PostgreSQL“ diegimas „Ubuntu“. .
  • Prieiga prie a ne root vartotojas, turintis sudo privilegiją .

PostgreSQL duomenų bazės

PostgreSQL yra nemokama atvirojo kodo SQL suderinama objektų ir ryšių duomenų bazių sistema. Jis gali veikti tiek su reliacine (SQL), tiek nereliacine (JSON) užklausa. Sužinokite daugiau apie PostgreSQL ypatybės .





PostgreSQL duomenų hierarchija yra tokia:



  • klasteris
  • duomenų bazėje
  • schema
  • lentelė (ar kiti objektai, pavyzdžiui, funkcija)

Bet kuris PostgreSQL egzempliorius gali priimti kelis kliento ryšius. Klientas prisijungimo užklausoje turi nurodyti duomenų bazės pavadinimą. Vienam ryšiui leidžiama tik viena duomenų bazė. Tačiau klientas gali atidaryti kelis ryšius su serveriu, vienu metu prisijungdamas prie vienos ar daugiau duomenų bazių.



Duomenų bazės kūrimas naudojant PostgreSQL

1. Ryšio su serveriu atidarymas

Norėdami sukurti naują duomenų bazę, pirmiausia prisijunkite prie PostgreSQL serverio:





$ sudo -i postgres
$ psql

Atminkite, kad duomenų bazės kūrimas yra ribota operacija. Veiksmą gali atlikti tik pakankamas teises turintys vartotojai.



2. Dabartinių duomenų bazių sąrašas
Paleiskite šią užklausą psql, kad išspausdintumėte duomenų bazių sąrašą serveryje:

$ \list

Diegimo metu PostgreSQL sukuria pirmąją serverio duomenų bazę, kuri yra „postgres“. Taip pat sukuriamos dvi papildomos duomenų bazės:

  • šablonas1 : Kuriant bet kokią naują duomenų bazę klasteryje, „template1“ klonuojamas.
  • šablonas0 : ji naudojama kaip nesugadinta originalaus „template1“ turinio kopija.

Nekurkite objektų „template1“, nebent norite, kad jie būtų kiekvienos naujai sukurtos duomenų bazės dalis. Jei „template1“ yra modifikuotas, „template0“ gali būti klonuotas, kad būtų sukurta nauja duomenų bazė be jokių vietinių papildymų.

3. Naujos duomenų bazės kūrimas
Norėdami sukurti naują duomenų bazę, paleiskite šią užklausą psql:

$ KURTI DUOMENŲ BAZĘ < db_vardas > ;

Čia:

  • Dabartinis vaidmuo automatiškai prisiimamas kaip naujos duomenų bazės savininkas.
  • Savininkas turi teisę pakeisti savininką į kitą vaidmenį.

Patikrinkite duomenų bazių sąrašą, jei veiksmas sėkmingas, naudodami šią komandą:

$ \list

Naudodami privilegijuotą paskyrą taip pat galime sukurti duomenų bazę kam nors kitam naudodami šią komandą:

$ KURTI DUOMENŲ BAZĘ < db_vardas > SAVININKAS < vaidmenį > ;

Komanda Createdb

Taikant ankstesnį metodą, norėdami sukurti duomenų bazę, turėjome atlikti kelis veiksmus:

  • Prisijunkite prie PostgreSQL serverio naudodami psql.
  • Vykdykite užklausas, kad sukurtumėte naują duomenų bazę.

Norėdami supaprastinti procesą, „PostgreSQL“ pateikiama su komanda Createb. Jis iš esmės veikia kaip šių veiksmų įvyniojimas. Galime tiesiogiai paleisti komandą Createdb iš apvalkalo.

1. Duomenų bazės kūrimas naudojant Createdb
Norėdami sukurti duomenų bazę naudodami numatytąjį duomenų bazės serverį, naudokite šią komandą:

$ sukurtasb < db_vardas >

Patikrinkite veiksmą naudodami šią komandą:

$ psql -c '\ list'

Naudodami įvairias parinktis taip pat galime tiksliai sureguliuoti sukurtas b operacijas. Peržiūrėkite šį pavyzdį:

$ sukurtasb -h < šeimininkas > -p < uostas > -T < šabloną > -Tai yra --Vartotojo vardas = < Vartotojo vardas > --Slaptažodis --priežiūra-db = < priežiūros_db_pavadinimas > < db_vardas >

Čia:

  • -h : Šis parametras nurodo PostgreSQL serverio vietą (IP adresą arba domeno pavadinimą).
  • -p : prievadas, skirtas prisijungti prie serverio.
  • -T : šablonas, naudojamas kuriant naują duomenų bazę. Tai gali būti šablonas0, šablonas1 arba bet kuri kita duomenų bazė.
  • -Tai yra : atkartoja lygiavertę užklausą.
  • -Vartotojo vardas : vartotojo vardas, skirtas prisijungti prie serverio.
  • -Slaptažodis : verčia komanda createb paraginti įvesti slaptažodį prieš prisijungiant prie serverio. Daugeliu atvejų to nereikia, nes Createb automatiškai prašo įvesti slaptažodį, jei serveris to reikalauja. Tačiau jis praleidžia bandymą prisijungti, kad tai išsiaiškintų.
  • –priežiūra-db : duomenų bazė, prie kurios reikia prisijungti kuriant naują duomenų bazę. Jei nenurodyta, postgres laikoma pagal numatytuosius nustatymus. Jei postgres neegzistuoja, daroma prielaida, kad šablonas1.

Laikas tai įgyvendinti. Vykdykite šią Createb komandą:

$ sukurtasb -h vietinis šeimininkas -p 5432 -T šablonas0 -Tai yra --Vartotojo vardas =postgres test_db

Kaip rodo išvestis, ji atitinka šią užklausą:

$ KURTI DUOMENŲ BAZĘ test_db TEMPLATE šablonas0;

Papildomas duomenų bazių valdymas

Šiame skyriuje pažvelkime į kitas duomenų bazių valdymo operacijas.

Duomenų bazių sąrašas

Yra keletas būdų, kaip išvardyti duomenų bazes, kurios yra saugomos serveryje. Ankstesniuose skyriuose jau demonstravome vieną metodą:

$ \list

Kitas būdas yra ištirti „pg_database“ sistemos katalogą:

$ PASIRINKITE duomenų pavadinimą IŠ pg_duomenų bazės;

Duomenų bazės ištrynimas

Norėdami ištrinti duomenų bazę, paleiskite šią užklausą:

$ DROP DUOMENŲ BAZĖ < db_vardas > ;

Panašiai kaip Createb, PostgreSQL taip pat pateikiama su dropdb komanda, kurią galime paleisti iš apvalkalo. Pažvelkite į šį pavyzdį:

$ dropdb -h < šeimininkas > -p < uostas > --Vartotojo vardas = < Vartotojo vardas > --Slaptažodis -Tai yra < db_vardas >

Čia:

  • -h : PostgreSQL serveris, prie kurio reikia prisijungti.
  • -p : PostgreSQL serverio prievadas, prie kurio reikia prisijungti.
  • -Tai yra : atkartoja lygiavertę užklausą.

Atminkite, kad vartotojas turi turėti pakankamai teisių ištrinti duomenų bazę.

Duomenų bazės nuosavybės keitimas

Duomenų bazės savininkas gali atlikti bet kokį veiksmą duomenų bazėje, įskaitant duomenų bazės ištrynimą. Pagal numatytuosius nustatymus duomenų bazę kuriantis vartotojas priskiriamas savininku. Tačiau nuosavybės teisę galime perleisti kitam naudotojui.

Norėdami pakeisti duomenų bazės savininką, paleiskite šią užklausą psql:

$ PAKEISTI DUOMENŲ BAZĘ < db_vardas > Savininkas < naujas_savininkas > ;

Tačiau tai nepakeis duomenų bazės objektų (įskaitant lenteles) nuosavybės. Tokiais atvejais turime naudoti kitą užklausą. Prisijunkite prie tikslinės duomenų bazės ir paleiskite šią užklausą:

$ PASKIRTIS PASKIRTIS PRISIJUNGTA < senas_savininkas > KAM < naujas_savininkas > ;

Nors ir patogu, ši užklausa pateikiama su keliais įspėjimais:

  • Prisijungus prie postgres (duomenų bazės), jis gali pakeisti kelių duomenų bazių nuosavybės teisę vienu metu.
  • Nenaudokite šios užklausos, kai pradinis savininkas yra postgres, nes tai gali sugadinti visą DB egzempliorių.

Premija: užklausų vykdymas iš apvalkalo

Iki šiol vykdome užklausas iš „PostgreSQL“ konsolės. Ką daryti, jei norite įtraukti kai kurias duomenų bazės funkcijas į savo scenarijus? Createb ir dropdb komandos gali atlikti tik tam tikras operacijas.

Norėdami tai išspręsti, kaip kanalą galime naudoti psql. Be standartinio interaktyvaus apvalkalo, psql taip pat gali vykdyti užklausas.

1 būdas:

Komandų struktūra yra tokia:

$ psql -h < šeimininkas > -p < uostas > -IN < Vartotojo vardas > -d < duomenų bazėje > -c < užklausą >

Čia:

  • -h : PostgreSQL serverio adresas.
  • -p : prievadas, prie kurio reikia prisijungti (numatytoji reikšmė yra 5432).
  • -IN : vartotojas, prie kurio reikia prisijungti kaip.
  • -d : duomenų bazė, prie kurios reikia prisijungti.
  • -c : vykdytina užklausa.

2 būdas:

„PostgreSQL“ turi dar vieną įdomią funkciją: ryšio URI. Tai protingas būdas tvarkingai užkoduoti visus ryšio parametrus. Ryšio URI struktūra yra tokia:

$ postgresql: //< Vartotojo vardas > : < Slaptažodis >@< šeimininkas > : < uostas >>< db_vardas >

Čia:

  • postgresql arba postgres : unikalus PostgreSQL ryšio URI protokolas.

Norėdami prisijungti prie duomenų bazės naudodami ryšio URI, naudokite šią psql komandą:

$ psql -d < ryšys_uri > -c < užklausą >

Išvada

Sužinojome apie įvairius duomenų bazių kūrimo būdus naudojant PostgreSQL. Parodėme, kaip sukurti duomenų bazę naudojant CREATE DATABASE užklausą. Taip pat pademonstravome duomenų bazės kūrimą naudodami komandą Createb. Be to, mes taip pat nuslėpėme kai kuriuos kitus svarbius duomenų bazių valdymo veiksmus, tokius kaip duomenų bazių ištrynimas ir savininko keitimas.

Norite sužinoti daugiau apie PostgreSQL? Patikrinkite PostgreSQL subkategorija y, kuriame yra daug vadovų apie įvairias funkcijas; pavyzdžiui: funkcijas , reguliarios išraiškos , lenteles , ir daug daugiau.