Izveidojiet datu bāzi programmā PostgreSQL, izmantojot komandu Createb

Izveidojiet Datu Bazi Programma Postgresql Izmantojot Komandu Createb



Šajā rokasgrāmatā mēs uzzināsim par datu bāzes izveidi programmā PostgreSQL, izmantojot komandu Createb.

Priekšnosacījumi:

Lai veiktu šajā rokasgrāmatā aprakstītās darbības, jums ir nepieciešami šādi komponenti:

  • Pareizi konfigurēta Linux sistēma. Lai pārbaudītu, apsveriet virtuālās Ubuntu mašīnas iestatīšana, izmantojot VirtualBox .
  • Instalēta un konfigurēta PostgreSQL. Uzziniet vairāk par PostgreSQL instalēšana Ubuntu .
  • Piekļuve a lietotājs, kas nav root lietotājs ar sudo privilēģijām .

PostgreSQL datu bāzes

PostgreSQL ir bezmaksas un ar atvērtā koda SQL saderīga objektu relāciju datu bāzes sistēma. Tas var darboties gan ar relāciju (SQL), gan nerelāciju (JSON) vaicājumiem. Uzziniet vairāk par PostgreSQL funkcijas .







PostgreSQL datu hierarhija ir šāda:



  • klasteris
  • datubāze
  • shēma
  • tabula (vai citi objekti, piemēram, funkcija)

Jebkura PostgreSQL instance var pieņemt vairākus klientu savienojumus. Klientam savienojuma pieprasījumā ir jānorāda datu bāzes nosaukums. Katram savienojumam ir atļauta tikai viena datu bāze. Tomēr klients var atvērt vairākus savienojumus ar serveri, vienlaikus izveidojot savienojumu ar vienu vai vairākām datu bāzēm.



Datu bāzes izveide programmā PostgreSQL

1. Savienojuma ar serveri atvēršana

Lai izveidotu jaunu datu bāzi, vispirms izveidojiet savienojumu ar PostgreSQL serveri:





$ sudo -i -in postgres
$ psql

Ņemiet vērā, ka datu bāzes izveide ir ierobežota darbība. Darbību drīkst veikt tikai lietotāji ar pietiekamām tiesībām.



2. Pašreizējo datu bāzu uzskaitīšana
Palaidiet šo vaicājumu programmā psql, lai izdrukātu serverī esošo datu bāzu sarakstu:

$ \list

Instalēšanas laikā PostgreSQL izveido pirmo servera datu bāzi, kas ir “postgres”. Tiek izveidotas arī divas papildu datu bāzes:

  • veidne1 : veidojot jaunu datu bāzi klasterī, “template1” tiek klonēts.
  • veidne0 : tā kalpo kā “template1” oriģinālā satura neskarta kopija.

Neveidojiet objektus “veidnē1”, ja vien nevēlaties, lai tie būtu daļa no katras jaunizveidotās datu bāzes. Ja tiek modificēts “template1”, “template0” var tikt klonēts, lai izveidotu jaunu datu bāzi bez jebkādiem vietņu papildinājumiem.

3. Jaunas datu bāzes izveide
Lai izveidotu jaunu datu bāzi, palaidiet šādu vaicājumu psql:

$ IZVEIDOT DATU BĀZI < db_nosaukums > ;

Šeit:

  • Pašreizējā loma tiek automātiski uzņemta kā jaunās datu bāzes īpašnieks.
  • Īpašniekam ir tiesības mainīt īpašnieku uz citu lomu.

Pārbaudiet datu bāzu sarakstu, ja darbība ir veiksmīga, izmantojot šādu komandu:

$ \list

Izmantojot priviliģētu kontu, mēs varam arī izveidot datubāzi kādam citam, izmantojot šādu komandu:

$ IZVEIDOT DATU BĀZI < db_nosaukums > ĪPAŠNIEKS < lomu > ;

Komanda Createdb

Iepriekšējā metodē mums bija jāveic vairākas darbības, lai izveidotu datu bāzi:

  • Izveidojiet savienojumu ar PostgreSQL serveri, izmantojot psql.
  • Palaidiet vaicājumus, lai izveidotu jaunu datu bāzi.

Lai racionalizētu procesu, PostgreSQL nāk ar komandu Createb. Tas būtībā darbojas kā šo darbību iesaiņojums. Mēs varam tieši palaist Createb komandu no čaulas.

1. Datu bāzes izveide, izmantojot Createdb
Lai izveidotu datu bāzi, izmantojot noklusējuma datu bāzes serveri, izmantojiet šo komandu:

$ izveidotsb < db_nosaukums >

Pārbaudiet darbību, izmantojot šo komandu:

$ psql -c '\list'

Izmantojot dažādas iespējas, mēs varam arī precīzi noregulēt izveidotās b darbības. Apskatiet šādu piemēru:

$ izveidotsb -h < saimnieks > -lpp < osta > -T < veidne > -Tas ir -- lietotājvārds = < lietotājvārds > --parole --maintenance-db = < apkopes_db_nosaukums > < db_nosaukums >

Šeit:

  • -h : Šis parametrs norāda PostgreSQL servera atrašanās vietu (IP adresi vai domēna nosaukumu).
  • -lpp : ports, lai izveidotu savienojumu ar serveri.
  • -T : veidne, kas jāizmanto, veidojot jaunu datu bāzi. Tā var būt template0, template1 vai jebkura cita datu bāze.
  • -Tas ir : Atskaņo līdzvērtīgu vaicājumu.
  • - lietotājvārds : lietotājvārds, lai izveidotu savienojumu ar serveri.
  • - parole : liek komandai createb pieprasīt paroli pirms savienojuma izveides ar serveri. Vairumā gadījumu tas nav nepieciešams, jo Createb automātiski pieprasa paroli, ja serveris to pieprasa. Tomēr tas pavada savienojuma mēģinājumu, lai to noskaidrotu.
  • – apkope-db : datu bāze, ar kuru izveidot savienojumu, veidojot jaunu datu bāzi. Ja nav norādīts, pēc noklusējuma tiek pieņemts postgres. Ja postgres neeksistē, tiek pieņemts “template1”.

Laiks likt to lietā. Palaidiet šo Createb komandu:

$ izveidotsb -h vietējais saimnieks -lpp 5432 -T veidne0 -Tas ir -- lietotājvārds =postgres test_db

Kā liecina izvade, tas ir līdzvērtīgs šādam vaicājumam:

$ IZVEIDOT DATU BĀZI test_db TEMPLATE template0;

Papildu datu bāzes pārvaldība

Šajā sadaļā apskatīsim citas datu bāzes pārvaldības darbības.

Datu bāzu uzskaitīšana

Ir vairāki veidi, kā uzskaitīt serverī saglabātās datu bāzes. Mēs jau esam parādījuši vienu metodi iepriekšējās sadaļās:

$ \list

Vēl viens veids ir pārbaudīt “pg_database” sistēmas katalogu:

$ SELECT datname FROM pg_database;

Datu bāzes dzēšana

Lai dzēstu datu bāzi, palaidiet šādu vaicājumu:

$ DROP DATU BĀZI < db_nosaukums > ;

Līdzīgi kā Createb, PostgreSQL nāk arī ar komandu dropdb, kuru mēs varam palaist no čaulas. Apskatiet šādu piemēru:

$ dropdb -h < saimnieks > -lpp < osta > -- lietotājvārds = < lietotājvārds > --parole -Tas ir < db_nosaukums >

Šeit:

  • -h : PostgreSQL serveris, ar kuru izveidot savienojumu.
  • -lpp : PostgreSQL servera ports, ar kuru izveidot savienojumu.
  • -Tas ir : Atskaņo līdzvērtīgu vaicājumu.

Ņemiet vērā, ka lietotājam ir jābūt pietiekamām tiesībām, lai dzēstu datu bāzi.

Datu bāzes īpašumtiesību maiņa

Datu bāzes īpašnieks var veikt jebkuru darbību datu bāzē, tostarp dzēst datu bāzi. Pēc noklusējuma lietotājs, kurš izveido datu bāzi, tiek piešķirts kā īpašnieks. Tomēr mēs varam nodot īpašumtiesības citam lietotājam.

Lai mainītu datu bāzes īpašnieku, palaidiet šādu vaicājumu psql:

$ MAINĪT DATU BĀZI < db_nosaukums > ĪPAŠNIEKS < jauns_īpašnieks > ;

Tomēr tas nemainīs datu bāzē esošo objektu (tostarp tabulu) īpašumtiesības. Šādos gadījumos mums ir jāizmanto cits vaicājums. Izveidojiet savienojumu ar mērķa datu bāzi un palaidiet šādu vaicājumu:

$ PĀRDOŠANA PIEDERĪBĀ < vecais_īpašnieks > UZ < jauns_īpašnieks > ;

Lai gan šis vaicājums ir ērti, tajā ir iekļauti daži brīdinājumi:

  • Pieslēdzoties postgres (datu bāzei), tā var mainīt vairāku datu bāzu īpašumtiesības vienlaikus.
  • Neizmantojiet šo vaicājumu, ja sākotnējais īpašnieks ir postgres, jo tas var sabojāt visu DB gadījumu.

Bonuss: vaicājumu izpilde no čaulas

Līdz šim mēs izpildām vaicājumus no PostgreSQL konsoles. Ko darīt, ja vēlaties savos skriptos iekļaut dažas datu bāzes funkcijas? Createb un dropdb komandas var veikt tikai noteiktas darbības.

Lai to atrisinātu, mēs varam izmantot psql kā kanālu. Papildus standarta interaktīvajam apvalkam psql var arī palaist vaicājumus lidojumā.

1. metode:

Komandu struktūra ir šāda:

$ psql -h < saimnieks > -lpp < osta > -IN < lietotājvārds > -d < datu bāze > -c < vaicājums >

Šeit:

  • -h : PostgreSQL servera adrese.
  • -lpp : ports, ar kuru izveidot savienojumu (noklusējuma vērtība ir 5432).
  • -IN : lietotājs, ar kuru izveidot savienojumu kā.
  • -d : datu bāze, ar kuru izveidot savienojumu.
  • -c : izpildāmais vaicājums.

2. metode:

PostgreSQL ir vēl viena interesanta funkcija: savienojuma URI. Tas ir gudrs veids, kā precīzi kodēt visus savienojuma parametrus. Savienojuma URI struktūra ir šāda:

$ postgresql: //< lietotājvārds > : < parole >@< saimnieks > : < osta >>< db_nosaukums >

Šeit:

  • postgresql vai postgres : unikāls protokols PostgreSQL savienojuma URI.

Lai izveidotu savienojumu ar datu bāzi, izmantojot savienojuma URI, izmantojiet šo psql komandu:

$ psql -d < savienojums_uri > -c < vaicājums >

Secinājums

Mēs uzzinājām par dažādiem veidiem, kā izveidot datu bāzes PostgreSQL. Mēs demonstrējām, kā izveidot datu bāzi, izmantojot vaicājumu CREATE DATABASE. Mēs arī demonstrējām datu bāzes izveidi, izmantojot komandu Createb. Turklāt mēs slēpām arī dažas citas svarīgas datu bāzes pārvaldības darbības, piemēram, datu bāzu dzēšanu un īpašnieka maiņu.

Vai vēlaties uzzināt vairāk par PostgreSQL? Apskatiet PostgreSQL apakškategorija y, kas satur daudzas rokasgrāmatas par dažādām funkcijām; piemēram: funkcijas , regulāras izteiksmes , tabulas , un daudz vairāk.