Объясним, как установить объектно-реляционную СУБД PostgreSQL на виртуальный сервер под управлением Ubuntu 18.04.
PostgreSQL – это реляционная СУБД, обладающая дополнительными объектно-ориентированными функциями. Postgres отличается значительно увеличенной мощностью за счет четырех дополнительных базовых концепций, которые позволяют расширять систему: классы, наследование, типы, функции. А эти дополнительные функции также гарантируют гибкость: ограничения, триггеры, правила, целостность транзакций.
Роль в Postgres - это учетная запись для авторизации, в которой неразличимы группы и пользователи.
Устанавливаем и подключаем
Вначале обновите локальную базу пакетов:
sudo apt update
sudo apt upgrade
Установите PostgreSQL:
sudo apt install postgresql postgresql-contrib
Теперь появится пользователь postgres, добавьте его в группу sudo:
usermod -a -G sudo postgres
Установите для него пароль:
passwd postgres
Подключитесь от имени пользователя postgres:
sudo -i -u postgres
Наберите для подключения к СУБД PostgreSQL:
psql
Для выхода подойдет эта команда:
\q
Создание новой роли
В настоящее врем] в системе есть только роль postgres для подключения к СУБД. Для генерации роли предназначена команда:
sudo -u postgres createuser --interactive
Задайте следующие параметры - имя пользователя, привилегии суперпользователя, возможность создания БД, возможность создания ролей:
Enter name of role to add: cloud
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
Создание новой базы данных
Если Вы работаете в системе в качестве пользователя postgres, используйте эту команду:
createdb <имя_БД>
Например:
createdb cloudBase
При подключении к другой учетной записи наберите:
sudo -u postgres createdb <имя_БД>
Например:
sudo -u postgres createdb cloudBase
Открытие приглашения Postgres с новой ролью
Создайте одноименного с ролью пользователя Ubuntu:
sudo adduser <имя_роли>
Например:
sudo adduser cloud
Системные сообщения могут выглядеть так:
Выполните такую команду для подключения:
sudo -u <роль> psql <имя_БД>
Например:
sudo -u cloud psql cloudBase
Создание и удаление таблиц
Стандартно команда для создания таблицы PostgreSQL используется такая:
CREATE TABLE table_name (
column_name1 col_type (field_length) column_constraints,
column_name2 col_type (field_length),
column_name3 col_type (field_length)
);
Сформируйте таблицу для контроля:
CREATE TABLE playground (
equip_id serial PRIMARY KEY,
type varchar (50) NOT NULL,
color varchar (25) NOT NULL,
location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')),
install_date date
);
Эта команда создаст таблицу описи игрового оборудования. В первом столбце расположены идентификаторы оборудования с типом serial (является счетчиком). Также в этом столбце ограничение первичного ключа, задающего условия для значений - уникальность и наличие значения.
Следующие две строки создают столбцы для типа оборудования и его цвета соответственно, и они не могут быть пустыми. После - строка создания столбца местоположения с ограничением, на возможное значение. Последняя команда создает столбец даты, куда записывается дата установки оборудования.
Для двух столбцов, equip_id и install_date, длина поля не определена, потому что некоторые типы данных не нуждаются в указании длины, для этого достаточно типа.
Введите для просмотра таблицы:
\d
Результат:
Добавляем, выбираем и удаляем данные из таблицы
Добавьте тестовые данные для примера в созданную таблицу:
INSERT INTO playground (type, color, location, install_date) VALUES ('slide', 'blue', 'south', '2017-04-28');
INSERT INTO playground (type, color, location, install_date) VALUES ('swing', 'yellow', 'northwest', '2018-08-16');
Чтобы просмотреть содержимое всей таблицы, воспользуйтесь командой:
SELECT * FROM playground;
В результате:
DELETE FROM playground WHERE type = 'slide';
Удаляем и добавляем столбцы таблицы
Для добавления столбца нужна следующая команду:
ALTER TABLE playground ADD last_maint date;
В результате таблица преобразится так:Для удаления столбца нужна команда:
ALTER TABLE playground DROP last_maint;
Обновляем данные в таблице
Для обновления актуальных записей примените ключевое слово UPDATE (изменяет значение поля цвет, где тип оборудования swing):
UPDATE playground SET color = 'red' WHERE type = 'swing';
Теперь PostgreSQL готово к работе на Вашем сервере Ubuntu 18.04!
techsupport@cloudlite.ru - служба техподдержки
sales@cloudlite.ru - вопросы по услугам, оплате, документам и партнерству
partner@cloudlite.ru - партнерская программа