Stvorite bazu podataka u PostgreSQL-u pomoću naredbe createdb

Stvorite Bazu Podataka U Postgresql U Pomocu Naredbe Createdb



U ovom vodiču naučit ćemo o stvaranju baze podataka u PostgreSQL-u pomoću naredbe createdb.

Preduvjeti:

Za izvođenje koraka koji su prikazani u ovom vodiču potrebne su vam sljedeće komponente:

  • Ispravno konfiguriran Linux sustav. Za testiranje, razmislite postavljanje virtualnog Ubuntu stroja pomoću VirtualBoxa .
  • Instaliran i konfiguriran PostgreSQL. Nauči više o instaliranje PostgreSQL-a na Ubuntu .
  • Pristup a ne-root korisnik sa sudo privilegijom .

PostgreSQL baze podataka

PostgreSQL je besplatni sustav objektno-relacijske baze podataka otvorenog izvornog koda usklađen sa SQL-om. Može raditi i s relacijskim (SQL) i s nerelacijskim (JSON) upitima. Saznajte više o značajke PostgreSQL-a .







U PostgreSQL-u, hijerarhija podataka je sljedeća:



  • Klastera
  • baza podataka
  • shema
  • tablica (ili drugi objekti; na primjer, funkcija)

Bilo koja instanca PostgreSQL-a može prihvatiti višestruke klijentske veze. Klijent mora navesti naziv baze podataka u zahtjevu za povezivanje. Dopuštena je samo jedna baza podataka po vezi. Međutim, klijent može otvoriti više veza s poslužiteljem, povezujući se s jednom ili više baza podataka istovremeno.



Stvaranje baze podataka u PostgreSQL-u

1. Otvaranje veze s poslužiteljem

Za izradu nove baze podataka prvo se spojite na PostgreSQL poslužitelj:





$ sudo -i -u postgres
$ psql

Imajte na umu da je stvaranje baze podataka ograničena operacija. Samo korisnici s odgovarajućim privilegijama mogu izvršiti radnju.



2. Navođenje trenutnih baza podataka
Pokrenite sljedeći upit u psql za ispis popisa baza podataka na poslužitelju:

$ \popis

Tijekom instalacije PostgreSQL stvara prvu bazu podataka poslužitelja koja je “postgres”. Također se stvaraju dvije dodatne baze podataka:

  • predložak1 : Kad god se stvara nova baza podataka unutar klastera, 'template1' se klonira.
  • predložak0 : Služi kao netaknuta kopija izvornog sadržaja 'template1'.

Nemojte stvarati objekte unutar “template1” osim ako ne želite da budu dio svake novostvorene baze podataka. Ako se “template1” modificira, “template0” se može klonirati za stvaranje nove baze podataka bez ikakvih dodataka na lokalnoj lokaciji.

3. Stvaranje nove baze podataka
Da biste stvorili novu bazu podataka, pokrenite sljedeći upit u psql-u:

$ STVARANJE BAZE PODATAKA < db_name > ;

Ovdje:

  • Trenutna uloga automatski se preuzima kao vlasnik nove baze podataka.
  • Vlasnik ima privilegiju promijeniti vlasnika u drugu ulogu.

Provjerite popis baza podataka ako je akcija uspješna pomoću sljedeće naredbe:

$ \popis

S privilegiranim računom također možemo stvoriti bazu podataka za nekog drugog pomoću sljedeće naredbe:

$ STVARANJE BAZE PODATAKA < db_name > VLASNIK < uloga > ;

Naredba Createdb

U prethodnoj metodi, morali smo proći kroz više koraka za izradu baze podataka:

  • Povežite se na PostgreSQL poslužitelj koristeći psql.
  • Pokrenite upite za stvaranje nove baze podataka.

Kako bi pojednostavio proces, PostgreSQL dolazi s naredbom createdb. U osnovi djeluje kao omotač za ove radnje. Naredbu createdb možemo izravno pokrenuti iz ljuske.

1. Stvaranje baze podataka pomoću Createdb
Da biste kreirali bazu podataka pomoću zadanog poslužitelja baze podataka, koristite sljedeću naredbu:

$ stvorenob < db_name >

Provjerite radnju pomoću sljedeće naredbe:

$ psql -c '\popis'

S raznim opcijama također možemo fino podesiti kreirane b operacije. Pogledajte sljedeći primjer:

$ stvorenob -h < domaćin > -str < luka > -T < šablona > -To je --Korisničko ime = < Korisničko ime > --lozinka --održavanje-db = < ime_db_održavanja > < db_name >

Ovdje:

  • -h : Ovaj parametar specificira lokaciju PostgreSQL poslužitelja (IP adresa ili naziv domene).
  • -str : Port za spajanje na poslužitelj.
  • -T : Predložak koji se koristi pri stvaranju nove baze podataka. To može biti template0, template1 ili bilo koja druga baza podataka.
  • -To je : ponavlja ekvivalentni upit.
  • -Korisničko ime : Korisničko ime za spajanje na poslužitelj.
  • -lozinka : prisiljava createdb naredbu da traži lozinku prije spajanja na poslužitelj. U većini slučajeva nije potrebno budući da createdb automatski traži lozinku ako je poslužitelj zahtijeva. Međutim, troši pokušaj povezivanja da bi to otkrio.
  • –održavanje-db : Baza podataka s kojom se povezujete prilikom stvaranja nove baze podataka. Ako nije navedeno, postgres se pretpostavlja prema zadanim postavkama. Ako postgres ne postoji, pretpostavlja se 'template1'.

Vrijeme je da to provedemo u djelo. Pokrenite sljedeću createdb naredbu:

$ stvorenob -h lokalni domaćin -str 5432 -T predložak0 -To je --Korisničko ime =postgres test_db

Kao što izlaz sugerira, to je ekvivalentno sljedećem upitu:

$ STVARANJE BAZE PODATAKA test_db TEMPLATE template0;

Dodatno upravljanje bazom podataka

U ovom odjeljku pogledajmo druge operacije upravljanja bazom podataka.

Ispisivanje baza podataka

Postoji nekoliko načina za popis baza podataka koje su pohranjene na poslužitelju. Već smo demonstrirali jednu metodu u prethodnim odjeljcima:

$ \popis

Drugi način je ispitati sistemski katalog “pg_database”:

$ SELECT datname FROM pg_database;

Brisanje baze podataka

Za brisanje baze podataka pokrenite sljedeći upit:

$ ISPUSTI BAZU PODATAKA < db_name > ;

Slično createdb-u, PostgreSQL također dolazi s dropdb naredbom koju možemo pokrenuti iz ljuske. Pogledajte sljedeći primjer:

$ dropdb -h < domaćin > -str < luka > --Korisničko ime = < Korisničko ime > --lozinka -To je < db_name >

Ovdje:

  • -h : PostgreSQL poslužitelj na koji se povezuje.
  • -str : Port PostgreSQL poslužitelja na koji se povezuje.
  • -To je : ponavlja ekvivalentni upit.

Imajte na umu da korisnik mora imati dovoljne privilegije za brisanje baze podataka.

Promjena vlasništva nad bazom podataka

Vlasnik baze podataka može izvršiti bilo koju radnju na bazi podataka, uključujući brisanje baze podataka. Prema zadanim postavkama korisnik koji stvara bazu podataka dodijeljen je kao vlasnik. Međutim, možemo prenijeti vlasništvo drugom korisniku.

Za promjenu vlasnika baze podataka, pokrenite sljedeći upit u psql:

$ PROMIJENI BAZA PODATAKA < db_name > VLASNIK DO < novi_vlasnik > ;

To, međutim, neće promijeniti vlasništvo nad objektima unutar baze podataka (uključujući tablice). U takvim slučajevima moramo koristiti drugi upit. Povežite se s ciljnom bazom podataka i pokrenite sljedeći upit:

$ PREDODJELA U VLASNIŠTVU < stari_vlasnik > DO < novi_vlasnik > ;

Iako je praktičan, ovaj upit dolazi s nekoliko upozorenja:

  • Prilikom spajanja na postgres (bazu podataka), može promijeniti vlasništvo nad više baza podataka odjednom.
  • Nemojte koristiti ovaj upit kada je izvorni vlasnik postgres jer bi mogao oštetiti cijelu instancu baze podataka.

Bonus: Pokretanje upita iz ljuske

Do sada upite pokrećemo s PostgreSQL konzole. Što ako želite uključiti neke funkcije baze podataka u svoje skripte? Naredbe createdb i dropdb mogu obavljati samo određene operacije.

Da bismo to riješili, možemo koristiti psql kao kanal. Osim standardne interaktivne ljuske, psql također može pokrenuti upite u hodu.

Metoda 1:

Struktura zapovijedi je sljedeća:

$ psql -h < domaćin > -str < luka > -U < Korisničko ime > -d < baza podataka > -c < upit >

Ovdje:

  • -h : Adresa PostgreSQL poslužitelja.
  • -str : Port za spajanje (zadana vrijednost je 5432).
  • -U : Korisnik s kojim se treba povezati.
  • -d : Baza podataka s kojom se povezujete.
  • -c : Upit za izvršenje.

Metoda 2:

PostgreSQL dolazi s još jednom zanimljivom značajkom: URI veze. To je pametan način za uredno kodiranje svih parametara veze. Struktura URI veze je sljedeća:

$ postgresql: //< Korisničko ime > : < lozinka >@< domaćin > : < luka >/< db_name >

Ovdje:

  • postgresql ili postgres : Jedinstveni protokol za URI veze PostgreSQL.

Za povezivanje s bazom podataka pomoću URI-ja veze upotrijebite sljedeću psql naredbu:

$ psql -d < veza_uri > -c < upit >

Zaključak

Učili smo o raznim načinima izrade baza podataka u PostgreSQL-u. Pokazali smo kako stvoriti bazu podataka pomoću upita CREATE DATABASE. Također smo prikazali stvaranje baze podataka pomoću naredbe createdb. Osim toga, također smo prešutjeli neke druge važne radnje upravljanja bazom podataka poput brisanja baza podataka i promjene vlasnika.

Želite li saznati više o PostgreSQL-u? Provjerite PostgreSQL potkategorija y koji sadrži brojne vodiče o raznim značajkama; na primjer: funkcije , regularni izrazi , stolovi , i mnogo više.