Установка PostgreSQL на Ubuntu 18.04
Инструкция по установке объектно-реляционной СУБД PostgreSQL на виртуальный сервер под управлением Ubuntu 18.04.
Что это такое?
PostgreSQL - реляционная СУБД, с дополнительным набором объектно-ориентированных функций. Postgres предлагает существенную дополнительную мощность за счет включения следующих четырех дополнительных базовых концепций, благодаря которым пользователи могут легко расширить систему: классы, наследование, типы, функции. Дополнительные функции обеспечивают гибкость: ограничения, триггеры, правила, целостность транзакций.
Роль в Postgres это учетная запись для авторизации, в ней неразличимы группы и пользователи.
Установка и подключение
Для установки необходимо обновить локальную базу пакетов:
sudo apt update
sudo apt upgrade
sudo apt install postgresql postgresql-contrib
usermod -a -G sudo postgres
passwd postgres
sudo -i -u postgres
psql
psql -c "ALTER USER postgres WITH PASSWORD 'новый_пароль';"
\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
Adding user `cloud' ...
Adding new group `cloud' (1001) ...
Adding new user `cloud' (1001) with group `cloud' ...
Creating home directory `/home/cloud' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for cloud
Enter the new value, or press ENTER for the default
Full Name []: Ivan
Room Number []: 100
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
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
List of relations
Schema | Name | Type | Owner
--------+-------------------------+----------+-------
public | playground | table | cloud
public | playground_equip_id_seq | sequence | cloud
(2 rows)
Добавление, выбор и удаление данных из таблицы
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;
equip_id | type | color | location | install_date
----------+-------+--------+-----------+--------------
1 | slide | blue | south | 2017-04-28
2 | swing | yellow | northwest | 2018-08-16
(2 rows)
Удалить строку можно с помощью ключевого слова DELETE:
DELETE FROM playground WHERE type = 'slide';
Указанная команда удалит строку, в которой тип оборудования имеет значение slide.
Удаление и добавление столбцов таблицы
Для добавления столбца используйте следующую команду:
ALTER TABLE playground ADD last_maint date;
equip_id | type | color | location | install_date | last_maint
----------+-------+--------+-----------+--------------+------------
2 | swing | yellow | northwest | 2018-08-16 |
Чтобы удалить столбец используйте команду:
ALTER TABLE playground DROP last_maint;
Обновление данных в таблице
Для обновление существующих записей используйте ключевое слово UPDATE:
UPDATE playground SET color = 'red' WHERE type = 'swing';
Комментарии
Отправить комментарий