Установка СУБД Postgres-11

Для установки СУБД Postgres-11 необходимо:

  • отредактировать файл /etc/apt/sources.list, оставив в качестве источников получения пакетов сетевые репозитории. Для этого закомментировать строку, начинающуюся с deb cdrom. Пример:

Приведен только пример файла! Он должен быть скорректирован, исходя из используемой и поддерживаемой Termidesk версии ОС. Подробную информацию о сетевых репозиториях ОС Astra Linux Special Edition можно получить в справочном центре Astra Linux: https://wiki.astralinux.ru/pages/viewpage.action?pageId=158598882.

Если в файле /etc/apt/sources.list присутствует репозиторий astra-ce, то необходимо закомментировать его, чтобы избежать установки несовместимых версий пакетов.

# Astra Linux repository description https://wiki.astralinux.ru/x/0oLiC

#deb cdrom:[OS Astra Linux 1.7.3 1.7_x86-64 DVD ]/ 1.7_x86-64 contrib main non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-update/ 1.7_x86-64 main contrib non-free

deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free
BASH
  • перейти в интерфейс командной строки через программу «Терминал Fly», выполнить команду обновления списков пакетов:
sudo apt update
BASH
  • выполнить команду установки СУБД Postgres-11:
sudo apt install -y postgresql-11
BASH

где:

-y - ключ для пропуска подтверждения установки.

Настройка СУБД Postgres-11

Перед установкой Termidesk нужно выполнить настройку базы данных (БД).

При работе с СУБД следует учитывать ее ограничения: суммарное количество подключений к СУБД должно быть не более 75% от максимально разрешенного количества подключений. Для PostgreSQL по умолчанию максимальное количество подключений  - 100.

Для оценки количества подключений к СУБД можно воспользоваться формулой: количество потоков планировщика задач + количество потоков фоновых задач + (количество порталов «Универсального диспетчера» × количество ядер процессоров × 3) + (количество узлов с запущенными службами termidesk-celery-beat и termidesk-celery-worker × количество ядер на этих узлах).

Указанные в формуле параметры «количество потоков планировщика задач» и «количество потоков фоновых задач» задаются в портале администратора Termidesk на странице «Настройки - Системные параметры - Общие».

Для настройки БД следует перейти в интерфейс командной строки и выполнить следующее:

  • переключиться последовательно на пользователя root, затем на postgres:
sudo -s
:/home/astra# su postgres
BASH
  • запустить терминальный клиент СУБД Postgres-11:
:/home/astra$ psql
BASH

Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки postgres=#, необходимо вместо «su postgres» использовать конструкцию «su - postgres».  Если приглашение postgres=# появилось, то сообщение об ошибке можно проингорировать.

  • используя интерактивный интерфейс терминального клиента СУБД, создать БД termidesk (символ «;» в конце строки при работе с интерактивным интерфейсом обязателен):

postgres=# CREATE DATABASE termidesk LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0;
BASH

где:

LC_COLLATE - порядок сортировки для использования в БД, влияет на порядок сортировки, применяемый к строкам. Значение «ru_RU.utf8» указывает на использование русской локализации;

LC_CTYPE - классификация символов для использования в БД, влияет на категоризацию символов;

TEMPLATE - имя шаблона, из которого создается БД. Шаблон «template0» используется для системной БД самой СУБД Postgres-11.

  • создать пользователя termidesk с паролем ksedimret для дальнейшего подключения к БД:
postgres=# CREATE USER termidesk WITH PASSWORD 'ksedimret';
BASH

В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты.

  • назначить права по использованию БД termidesk созданному пользователю termidesk:
postgres=# GRANT ALL PRIVILEGES ON DATABASE termidesk TO termidesk;
BASH
  • выйти из интерактивного интерфейса терминального клиента СУБД:

postgres=# \q
BASH
  • выйти из сеансов пользователей postgres и root: 
:/home/astra$ exit
:/home/astra# exit
BASH
  • отредактировать файл /etc/parsec/mswitch.conf, установив параметр zero_if_notfound в значение yes, точно соблюдая отступы и пробелы:
# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes
BASH

В случае последующего обновления СУБД Postgres может понадобиться пересоздать БД. В этом случае следует предусмотреть экспорт БД перед обновлением СУБД Postgres.