Ustvarite bazo podatkov v PostgreSQL z uporabo ukaza createdb

Ustvarite Bazo Podatkov V Postgresql Z Uporabo Ukaza Createdb



V tem priročniku se bomo naučili o ustvarjanju baze podatkov v PostgreSQL z uporabo ukaza createdb.

Predpogoji:

Za izvedbo korakov, prikazanih v tem priročniku, potrebujete naslednje komponente:

  • Pravilno konfiguriran sistem Linux. Za testiranje razmislite nastavitev virtualnega računalnika Ubuntu z uporabo VirtualBox .
  • Nameščen in konfiguriran PostgreSQL. Izvedite več o namestitev PostgreSQL na Ubuntu .
  • Dostop do a nekorenski uporabnik s privilegiji sudo .

Podatkovne baze PostgreSQL

PostgreSQL je brezplačen in odprtokodni sistem objektno-relacijske baze podatkov, skladen s SQL. Deluje lahko z relacijskimi (SQL) in nerelacijskimi (JSON) poizvedbami. Izvedite več o funkcije PostgreSQL .







V PostgreSQL je podatkovna hierarhija naslednja:



  • grozd
  • zbirka podatkov
  • shema
  • tabela (ali drugi predmeti; na primer funkcija)

Vsak primerek PostgreSQL lahko sprejme več povezav odjemalcev. Odjemalec mora podati ime baze podatkov v zahtevi za povezavo. Dovoljena je samo ena zbirka podatkov na povezavo. Vendar pa lahko odjemalec odpre več povezav s strežnikom in se hkrati poveže z eno ali več zbirkami podatkov.



Ustvarjanje baze podatkov v PostgreSQL

1. Odpiranje povezave s strežnikom

Če želite ustvariti novo bazo podatkov, se najprej povežite s strežnikom PostgreSQL:





$ sudo -jaz -in postgres
$ psql

Upoštevajte, da je ustvarjanje baze podatkov omejena operacija. Samo uporabniki z ustreznimi privilegiji lahko izvedejo dejanje.



2. Seznam trenutnih baz podatkov
Zaženite naslednjo poizvedbo v psql, da natisnete seznam baz podatkov na strežniku:

$ \seznam

Med namestitvijo PostgreSQL ustvari prvo bazo podatkov strežnika, ki je »postgres«. Izdelani sta tudi dve dodatni bazi podatkov:

  • predloga1 : Kadar koli ustvarite novo bazo podatkov znotraj gruče, se klonira »template1«.
  • predloga0 : Služi kot neokrnjena kopija izvirne vsebine »template1«.

Ne ustvarjajte predmetov znotraj »template1«, razen če želite, da so del vsake na novo ustvarjene zbirke podatkov. Če je »template1« spremenjen, se lahko »template0« klonira, da se ustvari nova baza podatkov brez kakršnih koli lokalnih dodatkov na spletnem mestu.

3. Ustvarjanje nove baze podatkov
Če želite ustvariti novo bazo podatkov, zaženite naslednjo poizvedbo v psql:

$ USTVARITE BAZO PODATKOV < db_name > ;

Tukaj:

  • Trenutna vloga se samodejno prevzame kot lastnik nove baze podatkov.
  • Lastnik ima privilegij spremeniti lastnika v drugo vlogo.

Preverite seznam baz podatkov, če je dejanje uspešno z naslednjim ukazom:

$ \seznam

S privilegiranim računom lahko ustvarimo bazo podatkov tudi za nekoga drugega z naslednjim ukazom:

$ USTVARITE BAZO PODATKOV < db_name > LASTNIK < vlogo > ;

Ukaz Createdb

Pri prejšnji metodi smo morali iti skozi več korakov za ustvarjanje baze podatkov:

  • Povežite se s strežnikom PostgreSQL s pomočjo psql.
  • Zaženite poizvedbe, da ustvarite novo bazo podatkov.

Za poenostavitev postopka ima PostgreSQL ukaz createdb. V bistvu deluje kot ovoj za ta dejanja. Ukaz createdb lahko zaženemo neposredno iz lupine.

1. Ustvarjanje zbirke podatkov z uporabo Createdb
Če želite ustvariti bazo podatkov s privzetim strežnikom baz podatkov, uporabite naslednji ukaz:

$ ustvarjenb < db_name >

Preverite dejanje z naslednjim ukazom:

$ psql -c '\seznam'

Z različnimi možnostmi lahko tudi dodelamo ustvarjene operacije b. Oglejte si naslednji primer:

$ ustvarjenb -h < gostitelj > -str < pristanišče > -T < predlogo > -Je --uporabniško ime = < uporabniško ime > --geslo --maintenance-db = < vzdrževanje_db_name > < db_name >

Tukaj:

  • -h : Ta parameter določa lokacijo strežnika PostgreSQL (naslov IP ali ime domene).
  • -str : Vrata za povezavo s strežnikom.
  • -T : Predloga za uporabo pri ustvarjanju nove baze podatkov. Lahko je template0, template1 ali katera koli druga zbirka podatkov.
  • -Je : ponavlja enakovredno poizvedbo.
  • – uporabniško ime : uporabniško ime za povezavo s strežnikom.
  • – geslo : prisili ukaz createdb, da zahteva geslo pred povezavo s strežnikom. V večini primerov ni potrebno, saj createdb samodejno zahteva geslo, če ga strežnik zahteva. Vendar porabi poskus povezave, da to ugotovi.
  • –vzdrževanje-db : Baza podatkov, s katero se želite povezati pri ustvarjanju nove baze podatkov. Če ni navedeno, se privzeto predpostavlja postgres. Če postgres ne obstaja, se predpostavlja 'template1'.

Čas je, da ga začnemo izvajati. Zaženite naslednji ukaz createdb:

$ ustvarjenb -h lokalni gostitelj -str 5432 -T predloga0 -Je --uporabniško ime =postgres test_db

Kot nakazuje rezultat, je enakovreden naslednji poizvedbi:

$ CREATE DATABASE test_db TEMPLATE template0;

Dodatno upravljanje baze podatkov

V tem razdelku si oglejmo druge operacije upravljanja baze podatkov.

Seznam baz podatkov

Obstaja nekaj načinov za seznam baz podatkov, ki so shranjene v strežniku. Eno metodo smo že pokazali v prejšnjih razdelkih:

$ \seznam

Drug način je pregled sistemskega kataloga »pg_database«:

$ IZBERITE datname FROM pg_database;

Brisanje baze podatkov

Če želite izbrisati bazo podatkov, zaženite to poizvedbo:

$ SPUSTI BAZO PODATKOV < db_name > ;

Podobno kot createdb, tudi PostgreSQL prihaja z ukazom dropdb, ki ga lahko zaženemo iz lupine. Oglejte si naslednji primer:

$ dropdb -h < gostitelj > -str < pristanišče > --uporabniško ime = < uporabniško ime > --geslo -Je < db_name >

Tukaj:

  • -h : Strežnik PostgreSQL za povezavo.
  • -str : vrata strežnika PostgreSQL za povezavo.
  • -Je : ponavlja enakovredno poizvedbo.

Upoštevajte, da mora imeti uporabnik zadostne pravice za brisanje baze podatkov.

Spreminjanje lastništva baze podatkov

Lastnik baze podatkov lahko izvaja katero koli dejanje na bazi podatkov, vključno z brisanjem baze podatkov. Privzeto je uporabnik, ki ustvari bazo podatkov, dodeljen kot lastnik. Lahko pa lastništvo prenesemo na drugega uporabnika.

Če želite spremeniti lastnika baze podatkov, zaženite naslednjo poizvedbo v psql:

$ SPREMENI BAZO PODATKOV < db_name > LASTNIK DO < novi_lastnik > ;

To pa ne bo spremenilo lastništva objektov v bazi podatkov (vključno s tabelami). V takih primerih moramo uporabiti drugo poizvedbo. Povežite se s ciljno bazo podatkov in zaženite naslednjo poizvedbo:

$ PREDODELITEV LASTNIKA < stari_lastnik > TO < novi_lastnik > ;

Čeprav je priročna, ima ta poizvedba nekaj opozoril:

  • Pri povezovanju s postgres (podatkovno bazo) lahko spremeni lastništvo več baz podatkov hkrati.
  • Te poizvedbe ne uporabljajte, ko je prvotni lastnik postgres, saj bi lahko poškodovala celoten primerek baze podatkov.

Bonus: izvajanje poizvedb iz lupine

Zaenkrat izvajamo poizvedbe s konzole PostgreSQL. Kaj pa, če želite v svoje skripte vključiti nekatere funkcije baze podatkov? Ukaza createdb in dropdb lahko izvajata samo določene operacije.

Za rešitev tega lahko uporabimo psql kot kanal. Poleg standardne interaktivne lupine lahko psql izvaja poizvedbe tudi sproti.

1. način:

Struktura ukazov je naslednja:

$ psql -h < gostitelj > -str < pristanišče > -IN < uporabniško ime > -d < zbirka podatkov > -c < poizvedbo >

Tukaj:

  • -h : naslov strežnika PostgreSQL.
  • -str : Vrata za povezavo (privzeta vrednost je 5432).
  • -IN : Uporabnik, s katerim se želite povezati.
  • -d : baza podatkov za povezavo.
  • -c : poizvedba za izvedbo.

2. način:

PostgreSQL ima še eno zanimivo funkcijo: URI povezave. To je pameten način za natančno kodiranje vseh parametrov povezave. Struktura URI povezave je naslednja:

$ postgresql: //< uporabniško ime > : < geslo >@< gostitelj > : < pristanišče >/< db_name >

Tukaj:

  • postgresql oz postgres : edinstven protokol za URI povezave PostgreSQL.

Če se želite povezati z bazo podatkov z URI-jem povezave, uporabite naslednji ukaz psql:

$ psql -d < povezava_uri > -c < poizvedbo >

Zaključek

Spoznali smo različne načine izdelave baz podatkov v PostgreSQL. Pokazali smo, kako ustvariti bazo podatkov s poizvedbo CREATE DATABASE. Predstavili smo tudi ustvarjanje baze podatkov z ukazom createdb. Poleg tega smo zamolčali tudi nekatera druga pomembna dejanja upravljanja baz podatkov, kot sta brisanje baz podatkov in menjava lastnika.

Vas zanima več o PostgreSQL? Oglejte si Podkategorija PostgreSQL y, ki vsebuje številne vodnike o različnih funkcijah; na primer: funkcije , regularni izrazi , mize , in veliko več.