Vytvorte databázu v PostgreSQL pomocou príkazu createdb

Vytvorte Databazu V Postgresql Pomocou Prikazu Createdb



V tejto príručke sa dozvieme o vytváraní databázy v PostgreSQL pomocou príkazu createdb.

Predpoklady:

Na vykonanie krokov, ktoré sú uvedené v tejto príručke, potrebujete nasledujúce komponenty:

  • Správne nakonfigurovaný systém Linux. Pre testovanie zvážte nastavenie virtuálneho počítača Ubuntu pomocou VirtualBox .
  • Nainštalovaný a nakonfigurovaný PostgreSQL. Naučiť sa viac o inštalácia PostgreSQL na Ubuntu .
  • Prístup k a používateľ bez oprávnenia root s privilégiom sudo .

PostgreSQL databázy

PostgreSQL je bezplatný a open source objektovo-relačný databázový systém kompatibilný s SQL. Dokáže pracovať s relačným (SQL) aj nerelačným (JSON) dotazovaním. Zistite viac o funkcie PostgreSQL .







V PostgreSQL je hierarchia údajov nasledovná:



  • zhluk
  • databázy
  • schému
  • tabuľka (alebo iné objekty; napríklad funkcia)

Každá inštancia PostgreSQL môže akceptovať viacero pripojení klientov. Klient musí zadať názov databázy v požiadavke na pripojenie. Na jedno pripojenie je povolená iba jedna databáza. Klient však môže otvoriť viacero pripojení k serveru a súčasne sa pripojiť k jednej alebo viacerým databázam.



Vytvorenie databázy v PostgreSQL

1. Otvorenie pripojenia k serveru

Ak chcete vytvoriť novú databázu, najprv sa pripojte k serveru PostgreSQL:





$ sudo -i -v postgres
$ psql

Všimnite si, že vytváranie databázy je obmedzená operácia. Akciu môžu vykonať iba používatelia s dostatočnými oprávneniami.



2. Zoznam aktuálnych databáz
Ak chcete vytlačiť zoznam databáz na serveri, spustite nasledujúci dotaz v psql:

$ \zoznam

Počas inštalácie PostgreSQL vytvorí prvú databázu servera, ktorá je „postgres“. Vytvoria sa aj dve ďalšie databázy:

  • šablóna1 : Pri každom vytváraní novej databázy v rámci klastra sa naklonuje „template1“.
  • šablóna0 : Slúži ako nedotknutá kópia pôvodného obsahu „template1“.

Nevytvárajte objekty v rámci „template1“, pokiaľ nechcete, aby boli súčasťou každej novovytvorenej databázy. Ak sa „template1“ zmení, „template0“ sa dá naklonovať, aby sa vytvorila nová databáza bez akýchkoľvek lokálnych doplnkov.

3. Vytvorenie novej databázy
Ak chcete vytvoriť novú databázu, spustite nasledujúci dotaz v psql:

$ VYTVORIŤ DATABÁZU < názov_db > ;

Tu:

  • Aktuálna rola sa automaticky prevezme ako vlastník novej databázy.
  • Vlastník má právo zmeniť vlastníka na inú rolu.

Ak je akcia úspešná, skontrolujte zoznam databáz pomocou nasledujúceho príkazu:

$ \zoznam

S privilegovaným účtom môžeme tiež vytvoriť databázu pre niekoho iného pomocou nasledujúceho príkazu:

$ VYTVORIŤ DATABÁZU < názov_db > VLASTNÍK < úlohu > ;

Príkaz Createdb

V predchádzajúcej metóde sme museli prejsť niekoľkými krokmi, aby sme vytvorili databázu:

  • Pripojte sa k serveru PostgreSQL pomocou psql.
  • Spustite dotazy na vytvorenie novej databázy.

Na zefektívnenie procesu sa PostgreSQL dodáva s príkazom createdb. V podstate funguje ako obal pre tieto akcie. Príkaz createdb môžeme spustiť priamo z shellu.

1. Vytvorenie databázy pomocou Createdb
Ak chcete vytvoriť databázu pomocou predvoleného databázového servera, použite nasledujúci príkaz:

$ vytvorenýb < názov_db >

Overte akciu pomocou nasledujúceho príkazu:

$ psql -c '\zoznam'

Rôznymi možnosťami vieme vytvorenéb operácie aj doladiť. Pozrite si nasledujúci príklad:

$ vytvorenýb -h < hostiteľ > -p < prístav > -T < šablóna > -To je --užívateľské meno = < užívateľské meno > --heslo --údržba-db = < názov_db_údržby > < názov_db >

Tu:

  • -h : Tento parameter určuje umiestnenie servera PostgreSQL (IP adresa alebo názov domény).
  • -p : Port na pripojenie k serveru.
  • -T : Šablóna, ktorá sa má použiť pri vytváraní novej databázy. Môže to byť šablóna0, šablóna1 alebo akákoľvek iná databáza.
  • -To je : Ozve sa ekvivalentný dotaz.
  • – používateľské meno : Používateľské meno na pripojenie k serveru.
  • – heslo : Vynúti príkaz createdb požiadať o heslo pred pripojením k serveru. Vo väčšine prípadov sa to nevyžaduje, pretože createdb automaticky vyzve na zadanie hesla, ak ho server vyžaduje. Strávi však pokus o pripojenie, aby to zistil.
  • –údržba-db : Databáza, ku ktorej sa chcete pripojiť pri vytváraní novej databázy. Ak nie je zadané, štandardne sa predpokladá postgres. Ak postgres neexistuje, predpokladá sa „template1“.

Je čas to uviesť do praxe. Spustite nasledujúci príkaz createdb:

$ vytvorenýb -h localhost -p 5432 -T šablóna0 -To je --užívateľské meno =postgres test_db

Ako naznačuje výstup, je ekvivalentný nasledujúcemu dotazu:

$ CREATE DATABASE test_db TEMPLATE template0;

Dodatočná správa databázy

V tejto časti sa pozrime na ďalšie operácie správy databázy.

Zoznam databáz

Existuje niekoľko spôsobov, ako vypísať zoznam databáz, ktoré sú uložené na serveri. Jeden spôsob sme už demonštrovali v predchádzajúcich častiach:

$ \zoznam

Ďalším spôsobom je preskúmať systémový katalóg „pg_database“:

$ SELECT dataname FROM pg_databaza;

Odstránenie databázy

Ak chcete vymazať databázu, spustite nasledujúci dotaz:

$ DROP DATABASE < názov_db > ;

Podobne ako createdb, PostgreSQL tiež prichádza s príkazom dropdb, ktorý môžeme spustiť z shellu. Pozrite si nasledujúci príklad:

$ dropdb -h < hostiteľ > -p < prístav > --užívateľské meno = < užívateľské meno > --heslo -To je < názov_db >

Tu:

  • -h : Server PostgreSQL na pripojenie.
  • -p : Port servera PostgreSQL, ku ktorému sa chcete pripojiť.
  • -To je : Ozve sa ekvivalentný dotaz.

Upozorňujeme, že používateľ musí mať dostatočné oprávnenie na vymazanie databázy.

Zmena vlastníctva databázy

Vlastník databázy môže vykonať akúkoľvek akciu s databázou vrátane vymazania databázy. V predvolenom nastavení je ako vlastník priradený používateľ, ktorý vytvára databázu. Vlastníctvo však môžeme prideliť inému používateľovi.

Ak chcete zmeniť vlastníka databázy, spustite nasledujúci dotaz v psql:

$ ZMENIŤ DATABÁZU < názov_db > VLASTNÍK DO < nový_vlastník > ;

Toto však nezmení vlastníctvo objektov v databáze (vrátane tabuliek). V takýchto prípadoch musíme použiť iný dotaz. Pripojte sa k cieľovej databáze a spustite nasledujúci dotaz:

$ ZNOVU PRIDELENIE VLASTNÍKA < old_owner > TO < nový_vlastník > ;

Aj keď je tento dotaz pohodlný, má niekoľko upozornení:

  • Pri pripojení k postgresu (databáze) dokáže zmeniť vlastníctvo viacerých databáz naraz.
  • Tento dotaz nepoužívajte, keď je pôvodný vlastník postgres, pretože by mohol poškodiť celú inštanciu DB.

Bonus: Spustenie dotazov zo škrupiny

Dopyty zatiaľ spúšťame z konzoly PostgreSQL. Čo ak chcete do svojich skriptov začleniť niektoré databázové funkcie? Príkazy createdb a dropdb môžu vykonávať iba špecifické operácie.

Na vyriešenie tohto problému môžeme použiť psql ako kanál. Okrem štandardného interaktívneho shellu môže psql spúšťať dotazy aj za behu.

Metóda 1:

Štruktúra príkazu je nasledovná:

$ psql -h < hostiteľ > -p < prístav > -V < užívateľské meno > -d < databázy > -c < dopyt >

Tu:

  • -h : Adresa servera PostgreSQL.
  • -p : Port na pripojenie (predvolená hodnota je 5432).
  • -V : Používateľ, ku ktorému sa chcete pripojiť.
  • -d : Databáza, ku ktorej sa chcete pripojiť.
  • -c : Dopyt, ktorý sa má vykonať.

Metóda 2:

PostgreSQL prichádza s ďalšou zaujímavou funkciou: URI pripojenia. Je to šikovný spôsob, ako úhľadne zakódovať všetky parametre pripojenia. Štruktúra URI pripojenia je nasledovná:

$ postgresql: //< užívateľské meno > : < heslo >>< hostiteľ > : < prístav >/< názov_db >

Tu:

  • postgresql alebo postgres : Jedinečný protokol pre URI pripojenia PostgreSQL.

Ak sa chcete pripojiť k databáze pomocou identifikátora URI pripojenia, použite nasledujúci príkaz psql:

$ psql -d < connection_uri > -c < dopyt >

Záver

Dozvedeli sme sa o rôznych spôsoboch vytvárania databáz v PostgreSQL. Ukázali sme, ako vytvoriť databázu pomocou dotazu CREATE DATABASE. Ukázali sme aj vytvorenie databázy pomocou príkazu createdb. Okrem toho sme prehliadli aj niektoré ďalšie dôležité akcie správy databáz, ako je vymazanie databáz a zmena vlastníka.

Máte záujem dozvedieť sa viac o PostgreSQL? Pozrite sa na Podkategória PostgreSQL y, ktorý obsahuje množstvo návodov na rôzne funkcie; napríklad: funkcie , regulárne výrazy , tabuľky , a oveľa viac.