Създайте база данни в PostgreSQL с помощта на команда createdb

S Zdajte Baza Danni V Postgresql S Pomosta Na Komanda Createdb



В това ръководство ще научим за създаването на база данни в PostgreSQL с помощта на команда createdb.

Предпоставки:

За да изпълните стъпките, които са демонстрирани в това ръководство, имате нужда от следните компоненти:

  • Правилно конфигурирана Linux система. За тестване, помислете настройка на виртуална Ubuntu машина с помощта на VirtualBox .
  • Инсталиран и конфигуриран PostgreSQL. Научете повече за инсталиране на PostgreSQL на Ubuntu .
  • Достъп до a не-root потребител със sudo привилегия .

PostgreSQL бази данни

PostgreSQL е безплатна обектно-релационна база данни с отворен код, съвместима с SQL. Може да работи както с релационни (SQL), така и с нерелационни (JSON) заявки. Научете повече за функции на PostgreSQL .







В PostgreSQL йерархията на данните е както следва:



  • клъстер
  • база данни
  • схема
  • таблица (или други обекти; например функция)

Всеки екземпляр на PostgreSQL може да приеме множество клиентски връзки. Клиентът трябва да посочи името на базата данни в заявката за свързване. Разрешена е само една база данни на връзка. Клиент обаче може да отвори множество връзки към сървъра, свързвайки се с една или повече бази данни едновременно.



Създаване на база данни в PostgreSQL

1. Отваряне на връзка към сървъра

За да създадете нова база данни, първо се свържете с PostgreSQL сървъра:





$ sudo -във postgres
$ psql

Имайте предвид, че създаването на база данни е ограничена операция. Само потребители с достатъчно привилегии имат право да извършват действието.



2. Изброяване на текущите бази данни
Изпълнете следната заявка в psql, за да отпечатате списъка с бази данни на сървъра:

$ \списък

По време на инсталацията PostgreSQL създава първата база данни на сървъра, която е „postgres“. Създават се и две допълнителни бази данни:

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

Не създавайте обекти в „template1“, освен ако не искате те да бъдат част от всяка новосъздадена база данни. Ако „template1“ е променен, „template0“ може да бъде клониран, за да създаде нова база данни без каквито и да е локални добавки на сайта.

3. Създаване на нова база данни
За да създадете нова база данни, изпълнете следната заявка в psql:

$ СЪЗДАВАНЕ НА БАЗА ДАННИ < db_name > ;

Тук:

  • Текущата роля автоматично се поема като собственик на новата база данни.
  • Собственикът има привилегията да смени собственика с различна роля.

Проверете списъка с бази данни, ако действието е успешно, като използвате следната команда:

$ \списък

С привилегирован акаунт можем също да създадем база данни за някой друг, като използваме следната команда:

$ СЪЗДАВАНЕ НА БАЗА ДАННИ < db_name > СОБСТВЕНИК < роля > ;

Командата Createdb

В предишния метод трябваше да преминем през множество стъпки, за да създадем база данни:

  • Свържете се към PostgreSQL сървъра с помощта на psql.
  • Изпълнете заявките, за да създадете нова база данни.

За да рационализира процеса, PostgreSQL идва с команда createdb. Той основно действа като обвивка за тези действия. Можем директно да изпълним командата createdb от обвивката.

1. Създаване на база данни с помощта на Createdb
За да създадете база данни, използвайки сървъра на база данни по подразбиране, използвайте следната команда:

$ създаденаб < db_name >

Проверете действието, като използвате следната команда:

$ psql -° С '\списък'

С различни опции можем също така да прецизираме създадените операции. Вижте следния пример:

$ създаденаб < домакин > -стр < порт > -T < шаблон > -То е --потребителско име = < потребителско име > --парола --maintenance-db = < име_на_база_за_обслужване > < db_name >

Тук:

  • : Този параметър указва местоположението на сървъра на PostgreSQL (IP адрес или име на домейн).
  • -стр : Портът за свързване към сървъра.
  • -T : Шаблонът, който да се използва при създаване на новата база данни. Тя може да бъде template0, template1 или всяка друга база данни.
  • -То е : Повтаря еквивалентната заявка.
  • – потребителско име : Потребителското име за свързване към сървъра.
  • – парола : Принуждава команда createdb да изисква парола, преди да се свърже със сървъра. В повечето случаи не се изисква, тъй като createdb автоматично подканва за парола, ако сървърът я изисква. Въпреки това, той прекарва опит за свързване, за да го разбере.
  • –поддръжка-db : Базата данни, към която да се свържете, когато създавате новата база данни. Ако не е посочено, postgre се приема по подразбиране. Ако postgres не съществува, се приема „template1“.

Време е да го приложим в действие. Изпълнете следната команда createdb:

$ създаденаб локален хост -стр 5432 -T шаблон0 -То е --потребителско име =postgres test_db

Както подсказва изходът, това е еквивалентно на следната заявка:

$ СЪЗДАВАНЕ НА БАЗА ДАННИ test_db TEMPLATE template0;

Допълнително управление на бази данни

В този раздел нека да разгледаме други операции за управление на бази данни.

Изброяване на базите данни

Има няколко начина за изброяване на базите данни, които се съхраняват в сървъра. Вече демонстрирахме един метод в предишните раздели:

$ \списък

Друг начин е да разгледате системния каталог „pg_database“:

$ ИЗБЕРЕТЕ име на данни ОТ pg_database;

Изтриване на база данни

За да изтриете база данни, изпълнете следната заявка:

$ ПРЕКРАТЯВАНЕ НА БАЗА ДАННИ < db_name > ;

Подобно на createdb, PostgreSQL също идва с командата dropdb, която можем да изпълним от обвивката. Разгледайте следния пример:

$ dropdb < домакин > -стр < порт > --потребителско име = < потребителско име > --парола -То е < db_name >

Тук:

  • : PostgreSQL сървърът, към който да се свържете.
  • -стр : Портът на PostgreSQL сървъра, към който да се свържете.
  • -То е : Повтаря еквивалентната заявка.

Имайте предвид, че потребителят трябва да има достатъчно привилегии, за да изтрие база данни.

Промяна на собствеността върху база данни

Собственикът на база данни може да извърши всяко действие върху базата данни, включително изтриване на базата данни. По подразбиране потребителят, който създава базата данни, е назначен като собственик. Въпреки това можем да прехвърлим собствеността на друг потребител.

За да промените собственика на базата данни, изпълнете следната заявка в psql:

$ ПРОМЯНА НА БАЗАТА ДАННИ < db_name > СОБСТВЕНИК КЪМ < нов_собственик > ;

Това обаче няма да промени собствеността върху обектите в базата данни (включително таблици). В такива случаи трябва да използваме различна заявка. Свържете се с целевата база данни и изпълнете следната заявка:

$ ПРЕВЪЗНАЧЕНИЕ СОБСТВЕНОСТ НА < стар_собственик > ДА СЕ < нов_собственик > ;

Въпреки че е удобна, тази заявка идва с няколко предупреждения:

  • Когато се свързва с postgres (база данни), той може да промени собствеността на множество бази данни наведнъж.
  • Не използвайте тази заявка, когато първоначалният собственик е postgres, тъй като може да повреди целия екземпляр на DB.

Бонус: Изпълнение на заявките от Shell

Досега изпълняваме заявките от конзолата на PostgreSQL. Какво ще стане, ако искате да включите някои функции на базата данни във вашите скриптове? Командите createdb и dropdb могат да извършват само специфични операции.

За да разрешим това, можем да използваме psql като проводник. Освен стандартната интерактивна обвивка, psql може също така да изпълнява заявките в движение.

Метод 1:

Командната структура е както следва:

$ psql < домакин > -стр < порт > -IN < потребителско име > < база данни > -° С < заявка >

Тук:

  • : Адресът на PostgreSQL сървъра.
  • -стр : Портът за свързване (стойността по подразбиране е 5432).
  • -IN : Потребителят, с когото да се свържете.
  • : Базата данни, към която да се свържете.
  • -° С : Заявката за изпълнение.

Метод 2:

PostgreSQL идва с друга интересна функция: URI за връзка. Това е умен начин за прецизно кодиране на всички параметри на връзката. Структурата на URI на връзката е както следва:

$ postgresql: //< потребителско име > : < парола >@< домакин > : < порт >/< db_name >

Тук:

  • postgresql или postgres : Уникалният протокол за URI на връзката с PostgreSQL.

За да се свържете с база данни, използвайки URI за връзка, използвайте следната команда psql:

$ psql < връзка_uri > -° С < заявка >

Заключение

Научихме за различни начини за създаване на бази данни в PostgreSQL. Ние демонстрирахме как да създадем база данни с помощта на заявката CREATE DATABASE. Ние също демонстрирахме създаването на база данни с помощта на команда createdb. В допълнение, ние също премълчахме някои други важни действия за управление на бази данни като изтриване на бази данни и промяна на собственика.

Интересувате ли се да научите повече за PostgreSQL? Разгледайте Подкатегория на PostgreSQL y който съдържа множество ръководства за различни функции; например: функции , регулярни изрази , маси , и още много.