Luo tietokanta PostgreSQL:ssä Createb-komennolla

Luo Tietokanta Postgresql Ssa Createb Komennolla



Tässä oppaassa opimme tietokannan luomisesta PostgreSQL:ssä Createb-komennolla.

Edellytykset:

Tässä oppaassa esitettyjen vaiheiden suorittamiseksi tarvitset seuraavat osat:

  • Oikein määritetty Linux-järjestelmä. Harkitse testausta varten virtuaalisen Ubuntu-koneen asentaminen VirtualBoxin avulla .
  • Asennettu ja määritetty PostgreSQL. Lisätietoja: PostgreSQL:n asentaminen Ubuntuun .
  • Pääsy a ei-root-käyttäjä, jolla on sudo-oikeudet .

PostgreSQL-tietokannat

PostgreSQL on ilmainen ja avoimen lähdekoodin SQL-yhteensopiva objektirelaatiotietokantajärjestelmä. Se voi toimia sekä relaatiokyselyn (SQL) että ei-relatiivisen (JSON) kyselyn kanssa. Lisätietoja aiheesta PostgreSQL:n ominaisuudet .







PostgreSQL:ssä tietohierarkia on seuraava:



  • klusterin
  • tietokanta
  • kaava
  • taulukko (tai muut objektit, esimerkiksi funktio)

Mikä tahansa PostgreSQL-ilmentymä voi hyväksyä useita asiakasyhteyksiä. Asiakkaan on määritettävä tietokannan nimi yhteyspyynnössä. Yhteyttä kohden sallitaan vain yksi tietokanta. Asiakas voi kuitenkin avata useita yhteyksiä palvelimeen ja muodostaa yhteyden yhteen tai useampaan tietokantaan samanaikaisesti.



Tietokannan luominen PostgreSQL:ssä

1. Yhteyden avaaminen palvelimeen

Luo uusi tietokanta muodostamalla ensin yhteys PostgreSQL-palvelimeen:





$ sudo -i -sisään postgres
$ psql

Huomaa, että tietokannan luominen on rajoitettu toimenpide. Vain käyttäjät, joilla on riittävät oikeudet, saavat suorittaa toiminnon.



2. Nykyisten tietokantojen luettelointi
Suorita seuraava kysely psql:ssä tulostaaksesi luettelon palvelimen tietokannoista:

$ \lista

Asennuksen aikana PostgreSQL luo palvelimesta ensimmäisen tietokannan, joka on 'postgres'. Lisäksi luodaan kaksi muuta tietokantaa:

  • malli 1 : Aina kun luot uutta tietokantaa klusterin sisällä, 'template1' kloonataan.
  • malli 0 : Se toimii koskemattomana kopiona mallin 1 alkuperäisestä sisällöstä.

Älä luo objekteja 'template1':ssä, ellet halua niiden olevan osa jokaista äskettäin luotua tietokantaa. Jos 'template1' on muokattu, 'template0' voidaan kloonata uuden tietokannan luomiseksi ilman paikallisia lisäyksiä.

3. Uuden tietokannan luominen
Luo uusi tietokanta suorittamalla seuraava kysely psql:ssä:

$ LUO TIETOKANTA < db_nimi > ;

Tässä:

  • Nykyinen rooli oletetaan automaattisesti uuden tietokannan omistajaksi.
  • Omistajalla on etuoikeus vaihtaa omistaja toiseen rooliin.

Tarkista tietokantaluettelo, jos toiminto onnistuu käyttämällä seuraavaa komentoa:

$ \lista

Etuoikeutetulla tilillä voimme myös luoda tietokannan jollekin toiselle seuraavalla komennolla:

$ LUO TIETOKANTA < db_nimi > OMISTAJA < rooli > ;

Createdb-komento

Edellisessä menetelmässä meidän piti käydä läpi useita vaiheita tietokannan luomiseksi:

  • Yhdistä PostgreSQL-palvelimeen psql:n avulla.
  • Luo uusi tietokanta suorittamalla kyselyt.

Prosessin virtaviivaistamiseksi PostgreSQL:n mukana tulee Createb-komento. Se toimii pohjimmiltaan näiden toimien kääreenä. Voimme suorittaa Createb-komennon suoraan komentotulkista.

1. Tietokannan luominen Createdb:llä
Voit luoda tietokannan oletustietokantapalvelimella käyttämällä seuraavaa komentoa:

$ luotub < db_nimi >

Tarkista toiminto seuraavalla komennolla:

$ psql -c '\lista'

Eri vaihtoehdoilla voimme myös hienosäätää luotuja b-toimintoja. Katso seuraava esimerkki:

$ luotub -h < isäntä > -s < portti > -T < sapluuna > -Se on --käyttäjänimi = < käyttäjätunnus > --Salasana --huolto-db = < ylläpito_db_nimi > < db_nimi >

Tässä:

  • -h : Tämä parametri määrittää PostgreSQL-palvelimen sijainnin (IP-osoite tai toimialueen nimi).
  • -s : Portti yhteyden muodostamiseksi palvelimeen.
  • -T : Uutta tietokantaa luotaessa käytettävä malli. Se voi olla template0, template1 tai mikä tahansa muu tietokanta.
  • -Se on : Toistaa vastaavan kyselyn.
  • – käyttäjätunnus : Käyttäjätunnus palvelimeen yhteyden muodostamiseksi.
  • -Salasana : Pakottaa Createb-komennon kysymään salasanaa ennen yhteyden muodostamista palvelimeen. Useimmissa tapauksissa sitä ei vaadita, koska Createb pyytää automaattisesti salasanaa, jos palvelin vaatii sitä. Se kuitenkin yrittää muodostaa yhteyden sen selvittämiseen.
  • -huolto-db : Tietokanta, johon yhdistetään uutta tietokantaa luotaessa. Jos sitä ei ole määritetty, postgres oletetaan oletuksena. Jos postgresia ei ole olemassa, oletetaan 'template1'.

Aika panna se käytäntöön. Suorita seuraava Createb-komento:

$ luotub -h paikallinen isäntä -s 5432 -T malli 0 -Se on --käyttäjänimi =postgres testi_db

Kuten tulos ehdottaa, se vastaa seuraavaa kyselyä:

$ CREATE DATABASE test_db MALLI template0;

Lisätietokannan hallinta

Tässä osiossa tarkastellaan muita tietokannan hallintatoimintoja.

Tietokantojen luettelointi

Palvelimelle tallennettujen tietokantojen luetteloimiseen on pari tapaa. Esitimme jo yhden menetelmän aiemmissa osissa:

$ \lista

Toinen tapa on tutkia 'pg_database' -järjestelmäluetteloa:

$ SELECT datanimi FROM pg_tietokanta;

Tietokannan poistaminen

Voit poistaa tietokannan suorittamalla seuraavan kyselyn:

$ PUDOTA TIETOKANTA < db_nimi > ;

Kuten Createdb, PostgreSQL sisältää myös dropdb-komennon, jonka voimme suorittaa komentotulkista. Katso seuraava esimerkki:

$ dropdb -h < isäntä > -s < portti > --käyttäjänimi = < käyttäjätunnus > --Salasana -Se on < db_nimi >

Tässä:

  • -h : PostgreSQL-palvelin, johon yhdistetään.
  • -s : PostgreSQL-palvelimen portti, johon muodostetaan yhteys.
  • -Se on : Toistaa vastaavan kyselyn.

Huomaa, että käyttäjällä on oltava riittävät oikeudet poistaa tietokanta.

Tietokannan omistajuuden muuttaminen

Tietokannan omistaja voi suorittaa tietokannassa mitä tahansa toimintoa, mukaan lukien tietokannan poistamisen. Oletuksena tietokannan luova käyttäjä on määritetty omistajaksi. Voimme kuitenkin siirtää omistajuuden toiselle käyttäjälle.

Voit vaihtaa tietokannan omistajaa suorittamalla seuraavan kyselyn psql:ssä:

$ MUUTA TIETOKANTA < db_nimi > OMISTAJA < uusi omistaja > ;

Tämä ei kuitenkaan muuta tietokannan objektien (mukaan lukien taulukot) omistajuutta. Tällaisissa tapauksissa meidän on käytettävä erilaista kyselyä. Muodosta yhteys kohdetietokantaan ja suorita seuraava kysely:

$ UUDELLEEN OMISTAJA < vanha_omistaja > TO < uusi omistaja > ;

Vaikka tämä kysely on kätevä, siinä on muutamia huomautuksia:

  • Kun muodostat yhteyden postgresiin (tietokanta), se voi muuttaa useiden tietokantojen omistajuutta kerralla.
  • Älä käytä tätä kyselyä, kun alkuperäinen omistaja on postgres, koska se voi vahingoittaa koko DB-ilmentymää.

Bonus: Kyselyjen suorittaminen Shellistä

Toistaiseksi suoritamme kyselyt PostgreSQL-konsolista. Entä jos haluat sisällyttää joitain tietokantatoimintoja skripteihisi? Createb- ja dropdb-komennot voivat suorittaa vain tiettyjä toimintoja.

Tämän ratkaisemiseksi voimme käyttää psql:ää kanavana. Tavallisen interaktiivisen komentotulkin lisäksi psql voi myös suorittaa kyselyt lennossa.

Tapa 1:

Komentorakenne on seuraava:

$ psql -h < isäntä > -s < portti > -SISÄÄN < käyttäjätunnus > -d < tietokanta > -c < kysely >

Tässä:

  • -h : PostgreSQL-palvelimen osoite.
  • -s : Portti, johon yhdistetään (oletusarvo on 5432).
  • -SISÄÄN : Käyttäjä, johon muodostetaan yhteys.
  • -d : Tietokanta, johon yhdistetään.
  • -c : Suoritettava kysely.

Tapa 2:

PostgreSQL:n mukana tulee toinen mielenkiintoinen ominaisuus: yhteyden URI. Se on näppärä tapa koodata siististi kaikki yhteysparametrit. Yhteyden URI:n rakenne on seuraava:

$ postgresql: //< käyttäjätunnus > : < Salasana >@< isäntä > : < portti >>< db_nimi >

Tässä:

  • postgresql tai postgres : PostgreSQL-yhteyden URI:n ainutlaatuinen protokolla.

Voit muodostaa yhteyden tietokantaan yhteyden URI:n avulla käyttämällä seuraavaa psql-komentoa:

$ psql -d < yhteys_uri > -c < kysely >

Johtopäätös

Opimme erilaisista tavoista luoda tietokantoja PostgreSQL:ssä. Osoitimme kuinka luodaan tietokanta CREATE DATABASE -kyselyllä. Esittelimme myös tietokannan luomisen Createb-komennolla. Lisäksi sivusimme joitakin muita tärkeitä tietokannan hallintatoimenpiteitä, kuten tietokantojen poistamista ja omistajan vaihtamista.

Haluatko tietää lisää PostgreSQL:stä? Tutustu PostgreSQL-alaluokka y, joka sisältää lukuisia oppaita eri ominaisuuksista; esimerkiksi: toimintoja , säännöllisiä lausekkeita , taulukoita , ja paljon enemmän.