Креирајте базу података у ПостгреСКЛ користећи команду цреатедб

Kreirajte Bazu Podataka U Postgreskl Koristeci Komandu Createdb



У овом водичу ћемо научити о креирању базе података у ПостгреСКЛ-у помоћу команде цреатедб.

Предуслови:

Да бисте извршили кораке који су приказани у овом водичу, потребне су вам следеће компоненте:

  • Правилно конфигурисан Линук систем. За тестирање, размотрите подешавање виртуелне Убунту машине користећи ВиртуалБок .
  • Инсталиран и конфигурисан ПостгреСКЛ. Сазнајте више о инсталирање ПостгреСКЛ-а на Убунту .
  • Приступ а некоријенски корисник са привилегијом судо .

ПостгреСКЛ базе података

ПостгреСКЛ је бесплатан и отвореног кода СКЛ-компатибилан објектно-релациони систем базе података. Може да ради и са релационим (СКЛ) и нерелационим (ЈСОН) упитима. Сазнајте више о карактеристике ПостгреСКЛ-а .







У ПостгреСКЛ-у, хијерархија података је следећа:



  • кластер
  • база података
  • шема
  • табела (или други објекти; на пример, функција)

Свака ПостгреСКЛ инстанца може да прихвати вишеструке клијентске везе. Клијент мора да наведе име базе података у захтеву за повезивање. Дозвољена је само једна база података по вези. Међутим, клијент може отворити више веза са сервером, повезујући се на једну или више база података истовремено.



Креирање базе података у ПостгреСКЛ-у

1. Отварање везе са сервером

Да бисте креирали нову базу података, прво се повежите са ПостгреСКЛ сервером:





$ судо -ин постгрес
$ пскл

Имајте на уму да је креирање базе података ограничена операција. Само корисницима са довољним привилегијама је дозвољено да изврше радњу.



2. Навођење тренутних база података
Покрените следећи упит у пскл-у да бисте одштампали листу база података на серверу:

$ \листа

Током инсталације, ПостгреСКЛ креира прву базу података сервера која је „постгрес“. Такође су креиране две додатне базе података:

  • шаблон1 : Кад год креирате било коју нову базу података унутар кластера, „темплате1“ се клонира.
  • темплате0 : Служи као чиста копија оригиналног садржаја „темплате1“.

Немојте креирати објекте унутар „темплате1“ осим ако не желите да буду део сваке новокреиране базе података. Ако је „темплате1“ измењен, „темплате0“ се може клонирати да би се креирала нова база података без икаквих додатака на локацији.

3. Креирање нове базе података
Да бисте креирали нову базу података, покрените следећи упит у пскл-у:

$ ЦРЕАТЕ ДАТАБАСЕ < дб_наме > ;

овде:

  • Тренутна улога се аутоматски преузима као власник нове базе података.
  • Власник има привилегију да промени власника у другу улогу.

Проверите листу база података да ли је акција успешна помоћу следеће команде:

$ \листа

Са привилегованим налогом, такође можемо да креирамо базу података за неког другог користећи следећу команду:

$ ЦРЕАТЕ ДАТАБАСЕ < дб_наме > ВЛАСНИК < улога > ;

Наредба Цреатедб

У претходној методи, морали смо да прођемо кроз више корака да бисмо креирали базу података:

  • Повежите се са ПостгреСКЛ сервером користећи пскл.
  • Покрените упите да бисте креирали нову базу података.

Да бисте поједноставили процес, ПостгреСКЛ долази са командом цреатедб. У основи делује као омотач за ове акције. Можемо директно покренути команду цреатедб из љуске.

1. Креирање базе података помоћу Цреатедб
Да бисте креирали базу података користећи подразумевани сервер базе података, користите следећу команду:

$ цреатедб < дб_наме >

Проверите акцију помоћу следеће команде:

$ пскл '\листа'

Уз различите опције, такође можемо фино подесити цреатедб операције. Погледајте следећи пример:

$ цреатедб < домаћин > -п < Лука > < шаблон > -То је --корисничко име = < корисничко име > --Лозинка --маинтенанце-дб = < одржавање_дб_наме > < дб_наме >

овде:

  • : Овај параметар одређује локацију ПостгреСКЛ сервера (ИП адреса или име домена).
  • -п : Порт за повезивање са сервером.
  • : Шаблон који се користи приликом креирања нове базе података. То може бити темплате0, темплате1 или било која друга база података.
  • -То је : Одјекује еквивалентни упит.
  • -корисничко име : Корисничко име за повезивање са сервером.
  • -Лозинка : Присиљава команду цреатедб да затражи лозинку пре повезивања са сервером. У већини случајева то није потребно јер цреатедб аутоматски тражи лозинку ако је сервер захтева. Међутим, он троши покушај повезивања да би то открио.
  • –одржавање-дб : База података на коју треба да се повежете када креирате нову базу података. Ако није наведено, подразумевано се претпоставља постгрес. Ако постгрес не постоји, претпоставља се „темплате1“.

Време је да то спроведемо у дело. Покрените следећу команду цреатедб:

$ цреатедб локални домаћин -п 5432 темплате0 -То је --корисничко име =постгрес тест_дб

Као што излаз сугерише, то је еквивалентно следећем упиту:

$ ЦРЕАТЕ ДАТАБАСЕ тест_дб ТЕМПЛАТЕ темплате0;

Додатно управљање базом података

У овом одељку, хајде да погледамо друге операције управљања базом података.

Навођење база података

Постоји неколико начина да наведете базе података које се чувају на серверу. Већ смо демонстрирали један метод у претходним одељцима:

$ \листа

Други начин је да испитате системски каталог „пг_датабасе“:

$ СЕЛЕЦТ датанаме ФРОМ пг_датабасе;

Брисање базе података

Да бисте избрисали базу података, покрените следећи упит:

$ ДРОП ДАТАБАСЕ < дб_наме > ;

Слично цреатедб-у, ПостгреСКЛ такође долази са командом дропдб коју можемо покренути из љуске. Погледајте следећи пример:

$ дропдб < домаћин > -п < Лука > --корисничко име = < корисничко име > --Лозинка -То је < дб_наме >

овде:

  • : ПостгреСКЛ сервер за повезивање.
  • -п : Порт ПостгреСКЛ сервера за повезивање.
  • -То је : Одјекује еквивалентни упит.

Имајте на уму да корисник мора имати довољне привилегије да избрише базу података.

Промена власништва над базом података

Власник базе података може извршити било коју радњу на бази података, укључујући брисање базе података. Подразумевано, корисник који креира базу података је додељен као власник. Међутим, можемо пренети власништво другом кориснику.

Да бисте променили власника базе података, покрените следећи упит у пскл-у:

$ АЛТЕР ДАТАБАСЕ < дб_наме > ОВНЕР ТО < нови_власник > ;

Ово, међутим, неће променити власништво над објектима у бази података (укључујући табеле). У таквим случајевима морамо да користимо другачији упит. Повежите се са циљном базом података и покрените следећи упит:

$ ПОНОВНО ДОДЈЕЛИ У ВЛАСНИШТВУ < стари_власник > ДО < нови_власник > ;

Иако је згодно, овај упит долази са неколико упозорења:

  • Када се повезује на постгрес (базу података), може променити власништво над више база података одједном.
  • Немојте користити овај упит када је оригинални власник постгрес јер може оштетити читаву ДБ инстанцу.

Бонус: Покретање упита из љуске

До сада смо покренули упите са ПостгреСКЛ конзоле. Шта ако желите да уградите неке функционалности базе података у своје скрипте? Команде цреатедб и дропдб могу да раде само одређене операције.

Да бисмо ово решили, можемо користити пскл као канал. Поред стандардне интерактивне љуске, пскл такође може да покреће упите у ходу.

Метод 1:

Структура команде је следећа:

$ пскл < домаћин > -п < Лука > -ИН < корисничко име > < база података > < упит >

овде:

  • : Адреса ПостгреСКЛ сервера.
  • -п : Порт за повезивање (подразумевана вредност је 5432).
  • -ИН : Корисник са којим се треба повезати.
  • : База података за повезивање.
  • : Упит за извршење.

2. метод:

ПостгреСКЛ долази са још једном занимљивом функцијом: УРИ везе. То је паметан начин за уредно кодирање свих параметара везе. Структура УРИ-ја везе је следећа:

$ постгрескл: //< корисничко име > : < Лозинка >@< домаћин > : < Лука >>/< дб_наме >

овде:

  • постгрескл или постгрес : Јединствени протокол за УРИ ПостгреСКЛ везе.

Да бисте се повезали са базом података користећи УРИ везе, користите следећу пскл команду:

$ пскл < цоннецтион_ури > < упит >

Закључак

Научили смо о различитим начинима креирања база података у ПостгреСКЛ-у. Показали смо како да креирате базу података користећи упит ЦРЕАТЕ ДАТАБАСЕ. Такође смо приказали креирање базе података помоћу команде цреатедб. Поред тога, такође смо пренели неке друге важне радње управљања базом података као што су брисање база података и промена власника.

Заинтересовани сте да сазнате више о ПостгреСКЛ-у? Погледајте ПостгреСКЛ поткатегорија и који садржи бројне водиче о различитим карактеристикама; на пример: функције , регуларни изрази , табеле , и још много тога.