Download PDF
Download page Установка и настройка СУБД PostgreSQL.
Установка и настройка СУБД PostgreSQL
Установка СУБД PostgreSQL
Для установки СУБД PostgreSQL необходимо:
- отредактировать файл
/etc/apt/sources.list
, оставив в качестве источников получения пакетов сетевые репозитории. Пример файла/etc/apt/sources.list
для ОС Astra Linux Special Edition 1.8:
Приведен только пример файла! Он должен быть скорректирован, исходя из используемой и поддерживаемой версии ОС. Подробную информацию о сетевых репозиториях ОС Astra Linux Special Edition можно получить в справочном центре Astra Linux:
- для ОС Astra Linux Special Edition 1.8: https://wiki.astralinux.ru/pages/viewpage.action?pageId=302043111;
- для ОС Astra Linux Special Edition 1.7: https://wiki.astralinux.ru/pages/viewpage.action?pageId=158598882.
Если в файле /etc/apt/sources.list
присутствует репозиторий astra-ce
, то необходимо закомментировать его, чтобы избежать установки несовместимых версий пакетов.
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-main/ 1.8_x86-64 main contrib non-free
deb https://download.astralinux.ru/astra/stable/1.8_x86-64/repository-extended/ 1.8_x86-64 main contrib non-free
- перейти в интерфейс командной строки и обновить списков пакетов:
sudo apt update
- установить СУБД PostgreSQL:
Требования к версии СУБД PostgreSQL:
- при установке на ОС Astra Linux Specail Edition 1.7 следует выбирать СУБД PostgreSQL версии 11 (входит в состав ОС);
- при установке на ОС Astra Linux Specail Edition 1.8 следует выбирать СУБД PostgreSQL версии 15 (входит в состав ОС).
sudo apt install -y postgresql
где:
-y
- ключ для пропуска подтверждения установки.
Настройка СУБД PostgreSQL
Перед установкой Termidesk нужно выполнить настройку базы данных (БД).
При работе с СУБД следует учитывать ее ограничения: суммарное количество подключений к СУБД должно быть не более 75% от максимально разрешенного количества подключений. Для СУБД PostgreSQL по умолчанию максимальное количество подключений - 100.
Для оценки количества подключений к СУБД можно воспользоваться формулой: количество потоков «Менеджера рабочих мест» + количество потоков фоновых задач + (количество порталов «Универсального диспетчера» × количество ядер процессоров × 3) + (количество узлов с запущенными службами termidesk-celery-bea
t и termidesk-celery-worker
× количество ядер на этих узлах).
Указанные в формуле параметры «количество потоков «Менеджера рабочих мест» и «количество потоков фоновых задач» задаются в портале администратора Termidesk на странице «Настройки - Системные параметры - Общие».
Для настройки БД следует перейти в интерфейс командной строки и выполнить:
- переключиться на пользователя
postgres
:
sudo su postgres
- запустить терминальный клиент СУБД PostgreSQL:
psql
Если после выполнения команды отображается ошибка «could not change directory to "/home/": Отказано в доступе» и не появляется приглашение командной строки postgres=#
, необходимо вместо su postgres
использовать конструкцию su - postgres
. Если приглашение postgres=#
появилось, то сообщение об ошибке можно проингорировать.
Если приглашение postgres=#
не появляется, то вероятнее всего ОС Astra Linux Special Edition используется в более защищенном режиме, например, «Смоленск». В таком случае нужно для пользователя postgres
назначить высокий уровень целостности:
sudo pdpl-user -i 63 postgres
используя интерактивный интерфейс терминального клиента СУБД PostgreSQL, создать БД
termidesk
(символ ; в конце строки при работе с интерактивным интерфейсом обязателен):
postgres=# CREATE DATABASE termidesk LC_COLLATE 'ru_RU.utf8' LC_CTYPE 'ru_RU.utf8' TEMPLATE template0;
где:
LC_COLLATE
- порядок сортировки для использования в БД, влияет на порядок сортировки, применяемый к строкам. Значение ru_RU.utf8
указывает на использование русской локализации;
LC_CTYPE
- классификация символов для использования в БД, влияет на категоризацию символов;
TEMPLATE
- имя шаблона, из которого создается БД. Шаблон template0
используется для системной БД самой СУБД PostgreSQL.
- создать пользователя
termidesk
с паролемksedimret
для дальнейшего подключения к БД:
postgres=# CREATE USER termidesk WITH PASSWORD 'ksedimret';
В приведенной команде имя пользователя и пароль используются в качестве примера. Имя пользователя и пароль должны задаваться в соответствии с внутренними стандартами организации по применению парольной защиты. Для задания пароля разрешено использовать только латинские буквы A-Z, a-z, цифры 0-9 и символы $!@%^&#_-=+~`;:.,?()*{}[]\|/.
- назначить права по использованию БД
termidesk
созданному пользователюtermidesk
:
postgres=# GRANT ALL PRIVILEGES ON DATABASE termidesk TO termidesk;
- в случае, если используется СУБД PostgreSQL из состава ОС Astra Linux Special Edition 1.8, то сделать пользователя
termidesk
владельцем БДtermidesk
, тем самым предоставив ему все возможные права:
postgres=# ALTER DATABASE termidesk OWNER TO termidesk;
выйти из интерактивного интерфейса терминального клиента СУБД PostgreSQL:
postgres=# \q
- выйти из сеанса пользователя
postgres
:
exit
- отредактировать файл
/etc/parsec/mswitch.conf
, установив параметрzero_if_notfound
в значениеyes
, точно соблюдая отступы и пробелы:
# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes
В случае последующего обновления СУБД PostgreSQL может понадобиться пересоздать БД. В этом случае следует предусмотреть экспорт БД перед обновлением СУБД PostgreSQL.