Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:2003:mgul.200300.001.3201 [2024/08/10 10:36] daftwi |
doc:2003:mgul.200300.001.3201 [2024/08/11 01:07] (текущий) daftwi |
||
---|---|---|---|
Строка 43: | Строка 43: | ||
====== PostgreSQL ====== | ====== PostgreSQL ====== | ||
- | * Установка и запуск PostgreSQL | + | ===== Установка и запуск PostgreSQL ===== |
<code>sudo apt update | <code>sudo apt update | ||
sudo apt install postgresql postgresql-contrib | sudo apt install postgresql postgresql-contrib | ||
sudo systemctl start postgresql.service</code> | sudo systemctl start postgresql.service</code> | ||
+ | ===== Создание роли ===== | ||
+ | Для создания баз данных используются роли в СУБД PostgreSQL. При создании роли автоматически создается БД с аналогичным названием. Для использования роли необходимо создать пользователя, к которому будет применена роль. Имя пользователя и роли должны совпадать. | ||
+ | Создание пользователя для БД логов: | ||
+ | <code>sudo adduser averobo_logs</code> | ||
+ | При создании пользователя необходимо не забывать о предоставлении, если необходимо sudo/root прав. Их необходимо предоставлять отдельно. | ||
+ | Создание роли для БД логов: | ||
+ | <code>sudo -u postgres createuser averobo_logs</code> | ||
+ | Создание пользователя для основной БД: | ||
+ | <code>sudo adduser averobo</code> | ||
+ | Создание роли для основной БД: | ||
+ | <code>sudo -u postgres createuser averobo</code> | ||
+ | * После предоставления роли можно зайти в созданного пользователя через команду: | ||
+ | <code>sudo -i su averobo_logs</code> | ||
+ | Для входа в PostgreSQL: | ||
+ | <code>psql</code> | ||
+ | ===== Создание таблицы для БД логов ===== | ||
+ | Создание таблиц происходит непосредственно в PostgreSQL. Для этого необходимо авторизоваться через пользователя, к базе данных которого нужно произвести подключение. Данный шаг показан в предыдущем разделе. | ||
+ | * Создание таблицы для логирования: | ||
+ | <code>create table logs ( | ||
+ | date timestamp | ||
+ | , level character varying(25) | ||
+ | , function character varying(25) | ||
+ | , message character varying(10000) | ||
+ | );</code> | ||
+ | ===== Создание таблицы для основной БД ===== | ||
+ | * Создание таблицы для неосредненных значений: | ||
+ | <code>create table half_path ( | ||
+ | date timestamp without time zone | ||
+ | , name character varying(50) | ||
+ | , average character varying(50) | ||
+ | , sum json | ||
+ | , num json | ||
+ | );</code> | ||
+ | * Создание таблицы для хранения данных формата дата-время: | ||
+ | <code>create table half_path ( | ||
+ | date timestamp without time zone | ||
+ | , name character varying(50) | ||
+ | , average character varying(50) | ||
+ | , json_file json | ||
+ | );</code> | ||
+ | * Создание таблицы для хранения данных формата дата: | ||
+ | <code>create table half_path ( | ||
+ | date date | ||
+ | , name character varying(50) | ||
+ | , average character varying(50) | ||
+ | , json_file json | ||
+ | );</code> | ||
+ | |||
+ | ===== Проверки после создания таблиц ===== | ||
+ | |||
+ | Проверка наличия таблицы: | ||
+ | <code>select * from logs;</code> | ||
+ | Просмотр всех существующих таблиц в БД: | ||
+ | <code>\dt</code> | ||
+ | Просмотр полей и деталей о колонках в конкретной таблице: | ||
+ | <code>\d logs</code> | ||
+ | |||
+ | ===== Если база данных не создалась автоматически ===== | ||
+ | * Создание БД через пользователя PostgreSQL по умолчанию | ||
+ | <code>sudo -i su postgres</code> | ||
+ | Команда для создания БД: | ||
+ | <code>createdb averobo_logs</code> | ||
+ | * Создание БД через bash-команду | ||
+ | <code>sudo -u postgres createdb averobo_logs</code> | ||
+ | |||
+ | |||