06 Установка и настройка БД
Наше ПО совместимо с любыми деривативами PostgreSQL, но все же, для его функционирования, необходим набор расширений БД. Список расширений не большой, приведен ниже:
- PLV8 - это расширение для PostgreSQL, обеспечивающее использование Javascript-языка в процедурах и функциях БД, популярный opensource-проект;
- KeyDB-FDW - opensource расширение для работы с On-memory БД на базе безопасной и современной альтернативы Redis - сервера KeyDB;
- RedisPubSub - opensource расширение для БД, позволяющее публиковать сообщения в каналах сервера KeyDB;
- PostgreSQL HTTP Client - популярное расширение БД PostgreSQL, реализующее HTTP-клиента в БД.
На текущий момент мы поставляем все эти расширения для следующих вариантов PostgreSQL DB:
- PostgreSQL 11, 13, 15. Для PostgreSQL 11 наступил EOL в ноябре 2023, поэтому новых версий выпускать не планируется;
- PostgresPro 13,15(только для RedOS 8 и Astra Linux SE 1.8) для Стандартной и Расширенной редакции;
- Jatoba 4 (за исключением jatoba4-http, стандартного расширения входящего в поставку этой БД)
Список совместимых движков БД не велик, но обоснован следующими фактами:
- PostgreSQL - является свободно-распространяемой opensource Базой данных;
- PostgresPro - Российское ПО, обладающее сертификатом ФСТЭК. Входит в Единый реестр Минкомсвязи. Совместим с СКЗИ «Крипто БД 2.0»;
- Jatoba - Российское ПО, обладающее сертификатом ФСТЭК. Входит в Единый реестр Минкомсвязи.
- все расширения проходят функциональное и нагрузочное тестирование. Индивидуально и в составе Luxms BI.
Для установки отказоустойчивого кластера PostgreSQL, дополнительно ознакомтесь с Приложением #1
Настройки файловой системы
При использовании нестандартного расположения файлов БД, например в соответствии с внутренними нормативными документами, или при монтировании отдельной файловой системы необходимо откорректировать настройки прав доступа. Например:
sudo chown -R postgres.postgres /data/pgdata
Нестандартное расположение файлов БД также потребует дополнительной настройки профиля (переменных окружения) владельца процессов и файлов БД.
Обращаем внимание, если каталог базы данных отличается от дефолтного, необходимо переопределить переменную окружения PGDATA
Изменения фиксируются в следующих местах:
- профайле сервисной учетной записи
postgres
- файле переменных среды сервиса или в самого Systemd service unit,
Установка PostgreSQL
Подключение необходимых репозиториев для установки PostgreSQL зависит от ОС хоста, на котором производится установка.
Здесь и далее указываются URL официальных репозиториев для обозначения целевого контента, при наличии других публичных или локальных зеркал репозиториев, желательно использовать локальные зеркала.
Использование зеркалированных репозиториев потребует откорректировать параметры команд, описанных ниже.
CentOS 7 (не планируется обновлений)
Необходимо подключить дополнительные публичные репозитории или имеющиеся у клиента зеркала этих репозиториев:
- Установка дополнительных репозиториев:
sudo yum -y install epel-release \
https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Опционально, можно отключить не планируемые к использованию версии PostgreSQL, оставив доступными пакеты только 13 версии:
sudo yum-config-manager --disable pgdg11 pgdg12 pgdg14 pgdg15
- Установка пакетов сервера
postgresql-13
:
sudo yum -y install postgresql13 \
postgresql13-server \
postgresql13-contrib
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
echo -e '\nPATH=/usr/pgsql-13/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
- Инициализация PostgreSQL:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
sudo systemctl enable --now postgresql-13
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
RedOS 7.3
Достаточно подключения стандартных репозиториев производителя ОС:
- Установка пакетов сервера
postgresql-13
:
sudo dnf -y install postgresql13 \
postgresql13-server \
postgresql13-contrib
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
echo -e '\nPATH=/usr/pgsql-13/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
- Инициализация PostgreSQL:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
sudo systemctl enable --now postgresql-13
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
RedOS 8.0
Достаточно подключения стандартных репозиториев производителя ОС:
- Установка пакетов сервера
postgresql-15
:
sudo dnf -y install postgresql15 \
postgresql15-server \
postgresql15-contrib
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
echo -e '\nPATH=/usr/pgsql-15/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
- Инициализация PostgreSQL:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
sudo systemctl enable --now postgresql-15
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Astra Linux Special Edition 1.7
Этот вариант установки не полностью соответствует рекомендациям ГК Астра и тем более не будет легитимным для повышенных уровней безопасности ОС, поскольку требует включения пакетов стороннего репозитория с более высоким приоритетом, чем пакеты ОС.
Но на “базовом”(Орёл) уровне безопасности это допустимо.
Необходимо подключение публичных репозиториев ОС или соответствующих внутренних зеркальных репозиториев:
А также требуется подключение публичного репозитория PostgreSQL:
Репозиторий PostgreSQL 13, совместимый с Astra Linux 1.7, перенесен в архив
- [PostgreSQL Apt Repository]
deb http://apt-archive.postgresql.org/pub/repos/apt buster-pgdg main
- Установка репозитория PostgreSQL:
echo "deb http://apt-archive.postgresql.org/pub/repos/apt/ buster-pgdg main" \
| sudo /usr/bin/tee -a /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
| sudo apt-key add -
sudo apt update
После установки репозитория, необходимо создать дополнительный конфигурационный файл /etc/apt/preferences.d/postgresql13
со следующим содержимым:
Package: *
Pin: origin apt-archive.postgresql.org
Pin-Priority: 1001
- Установка пакетов сервера
postgresql-13
:
Если нет требований по нестандартному расположению файлов БД, то достаточно одной команды:
sudo apt -y install postgresql-13
Для установки БД с измененным местоположением(и других параметров) можно после выполнения предыдущей команды выполнить следующую последовательность:
sudo pg_lsclusters # посмотреть с какими параметрами поднята текущая БД
Ver Cluster Port Status Owner Data directory Log file
13 main 5432 online postgres /var/lib/postgresql/13/main /var/log/postgresql/postgresql-13-main.log
sudo pg_ctlcluster 13 main stop # остановить существующую БД
sudo pg_dropcluster 13 main # удалить существующую БД
sudo pg_createcluster -d /data/pgdata 13 main # создать БД с новым расположением файлов
sudo pg_ctlcluster 13 main start # запустим новую БД
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.profile /var/lib/postgresql/
echo -e '\nPATH=/usr/lib/postgresql/13/bin/:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/postgresql/.profile
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Astra Linux Special Edition 1.8
Достаточно подключения стандартных репозиториев производителя ОС или соответствующих внутренних зеркальных репозиториев :
- Установка пакетов сервера
postgresql-15
:
Если нет требований по нестандартному расположению файлов БД, то достаточно одной команды:
sudo apt -y install postgresql postgresql-contrib
Для установки БД с измененным местоположением(и других параметров) можно после выполнения предыдущей команды выполнить команду, для определения созданного автоматически кластера:
sudo pg_lsclusters # посмотреть с какими параметрами поднята текущая БД
Ver Cluster Port Status Owner Data directory Log file
15 main 5432 online postgres /var/lib/postgresql/15/main pg_log/postgresql-%a.log
И исходя из полученных данных выполнить следующую последовательность команд:
sudo pg_ctlcluster 15 main stop # остановить существующую БД
sudo pg_dropcluster 15 main # удалить существующую БД
sudo pg_createcluster -d /data/pgdata 15 main # создать БД с новым расположением файлов
sudo pg_ctlcluster 15 main start # запустим новую БД
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.profile /var/lib/postgresql/
echo -e '\nPATH=/usr/lib/postgresql/15/bin/:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/postgresql/.profile
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Rocky Linux 8
Доступ к пакетам PostgreSQL настраивается подключением виртуального репозитория(модуля) из физического репозитория AppStream/
- Настройка модуля(виртуального репозитория) PostgreSQL и подключение EPEL:
sudo dnf module enable postgresql:13
Использование публичного репозитория EPEL
[Опционально] Если Вы используете локальное “зеркало” для EPEL-репозитория, настройте подключение хоста к этому репозиторию. Если нет:
sudo dnf -y install epel-release
- Установка пакетов
sudo dnf -y install postgresql \
postgresql-server \
postgresql-contrib
- Инициализация БД:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
Обращаем внимание, если каталог базы данных отличается от дефолтного, необходимо переопределить переменную окружения PGDATA в systemd скрипте - /lib/systemd/system/postgresql-13.service
sudo systemctl enable --now postgresql
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Rocky Linux 9
Доступ к пакетам PostgreSQL настраивается подключением виртуального репозитория(модуля) из физического репозитория AppStream/
- Настройка модуля(виртуального репозитория) PostgreSQL и подключение EPEL:
sudo dnf -y module enable postgresql:15
[Опционально] Использование публичного репозитория EPEL
Если Вы используете локальное “зеркало” для EPEL-репозитория, настройте подключение хоста к этому репозиторию. Если нет:
sudo dnf -y install epel-release
- Установка пакетов
sudo dnf -y install postgresql \
postgresql-server \
postgresql-contrib
- Инициализация БД:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
Обращаем внимание, если каталог базы данных отличается от дефолтного, необходимо переопределить переменную окружения PGDATA в systemd скрипте - /lib/systemd/system/postgresql-13.service
sudo systemctl enable --now postgresql
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Alt Linux 10
Достаточно подключения стандартных репозиториев производителя ОС
- Установка пакетов
Перед началом установки необходимо убедиться, что установлен пакет sudo и у пользователя есть права выполнять команду sudo
sudo apt-get update
sudo apt-get -y install postgresql15 \
postgresql15-server \
postgresql15-contrib
sudo usermod -s /bin/bash postgres
- Инициализация БД:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск postgresql сервиса:
Обращаем внимание, если каталог базы данных отличается от дефолтного, необходимо переопределить переменную окружения PGDATA в systemd скрипте - /lib/systemd/system/postgresql.service
sudo systemctl enable --now postgresql
После завершения установки, не забудьте выполнить проверку в соостветствии с Проверка после установки
Установка PostgresPro
Использование PostgresPro для Российских компаний гарантирует возможность/непрерывность поддержки БД и защищает от санкционных рисков.
Luxms BI может быть развернут на PostgresPro двух редакций - Стандартной и Расширенной. Ниже приведенные примеры конфигураций написаны для Стандартной редакции. Для Расширенной редакции расположение файлов и имена команд отличаются.
RedOS 7.3
Необходимо подключение публичного репозитория:
- Подключение репозитория PostgresPro
Самый простой вариант - использовать скрипт, предлагаемый производителем:
curl https://repo.postgrespro.ru/std/std-13/keys/GPG-KEY-POSTGRESPRO | rpm --import
При использовании локальных “зеркал” получите инструкцию по подключению от администраторов Корпоративного сервера репозиториев.
- Установка пакетов сервера
postgrespro-std-13
БД можно установить в облегченном варианте, одной командой. Установка единственного пакета совмещена с инициализацией БД и настройкой авто-запуска сервиса. Но этот вариант не подходит при использовании нестандартного места расположения файлов БД.
sudo dnf -y install postgrespro-std-13
В большинстве продуктовых решений используется, отличный от стандартного, путь до файлов БД. В этом случае необходимо установить совокупность пакетов:
sudo dnf -y install postgrespro-std-13-server \
postgrespro-std-13-contrib
После такой установки Вам необходимо произвести инициализацию БД, и создать конфигурационный файл /etc/default/postgrespro-std-13
и указать в нем значение для переменной PGDATA, например:
PGDATA=/data/pgdata
И создать целевую директорию:
mkdir -p /data/pgdata
chown -R postgres:postgres /data
chmod 750 /data /data/pgdata
- Настройка профиля сервисной учетной записи
Можно воспользоваться поставляемой PostgresPro утилитой pg-wrapper
:
/opt/pgpro/std-13/bin/pg-wrapper links update
Но мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.bash_profile \
/etc/skel/.bashrc \
/var/lib/pgsql/
echo -e '\via\nPATH=/opt/pgpro/std-13/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
Если планируется использование не-стандартного пути для хранения файлов БД, отредактируйте созданный конфигурационный файл - укажите значение переменной PGDATA, соответсвующее определенному ранее в п.2
- Инициализация PostgresPro:
sudo -iu postgres /opt/pgpro/std-13/bin/initdb
- Запуск и настройка автозапуска PostgresPro сервиса:
Для оригинальной версии PostgreSQL необходимо выполнить следующие действия:
sudo systemctl enable --now postgrespro-std-13.service
После завершения установки, не забудьте выполнить проверку в соответствии с Проверка после установки
RedOS 8
Необходимо подключение публичного репозитория:
- Подключение репозитория PostgresPro
Самый простой вариант - использовать скрипт, предлагаемый производителем:
curl https://repo.postgrespro.ru/std/std-15/keys/pgpro-repo-add.sh | sudo sh
При использовании локальных “зеркал” получите инструкцию по подключению от администраторов Корпоративного сервера репозиториев.
- Установка пакетов сервера
postgrespro-std
БД можно установить в облегченном варианте, одной командой. Установка единственного пакета совмещена с инициализацией БД и настройкой авто-запуска сервиса. Но этот вариант не подходит при использовании нестандартного места расположения файлов БД.
sudo dnf -y install postgrespro-std-15
В большинстве продуктовых решений используется, отличный от стандартного, путь до файлов БД. В этом случае необходимо установить совокупность пакетов:
sudo dnf -y install postgrespro-std-15-server \
postgrespro-std-15-contrib
После такой установки Вам необходимо произвести инициализацию БД, и отредактировать конфигурационный файл /etc/default/postgrespro-std-15
и указать в нем значение для переменной PGDATA, например:
PGDATA=/data/pgdata
И создать целевую директорию:
mkdir -p /data/pgdata
chown -R postgres:postgres /data
chmod 750 /data /data/pgdata
- Настройка профиля сервисной учетной записи
Можно воспользоваться поставляемой PostgresPro утилитой pg-wrapper
:
/opt/pgpro/std-15/bin/pg-wrapper links update
Но мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.bash_profile \
/etc/skel/.bashrc \
/var/lib/pgsql/
echo -e '\nPGDATA=/var/lib/pgpro/std-15/data\nPATH=/opt/pgpro/std-15/bin:$PATH\nexport PATH PGDATA\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
Если планируется использование не-стандартного пути для хранения файлов БД, отредактируйте созданный конфигурационный файл - укажите значение переменной PGDATA, соответсвующее определенному ранее в п.2
- Инициализация PostgresPro:
sudo -iu postgres /opt/pgpro/std-15/bin/initdb
- Запуск и настройка автозапуска PostgresPro сервиса:
Для оригинальной версии PostgreSQL необходимо выполнить следующие действия:
sudo systemctl enable --now postgrespro-std-15.service
После завершения установки, не забудьте выполнить проверку в соответствии с Проверка после установки
Astra Linux Special Edition 1.7
Необходимо подключение публичного репозитория:
- [PostgresPro Standard 13 for Astra Linus SE]
deb http://repo.postgrespro.ru/std-13/astra-smolensk/1.7 1.7_x86-64 main
- Подключение репозитория PostgresPro:
echo "deb http://repo.postgrespro.ru/std-13/astra-smolensk/1.7 1.7_x86-64 main" \
| sudo /usr/bin/tee -a /etc/apt/sources.list.d/postgrespro-std-13.list
wget -qO- https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO \
| sudo apt-key add -
sudo apt update
- Установка пакетов сервера
postgrespro-std-13
:
БД можно установить в облегченном варианте, одной командой. Установка единственного пакета совмещена с инициализацией БД и настройкой авто-запуска сервиса.Но этот вариант не подходит при использовании нестандартного места расположения файлов БД.
sudo apt -y install postgrespro-std-13
В большинстве продуктовых решений используется, отличный от стандартного, путь до файлов БД. В этом случае необходимо установить совокупность пакетов:
sudo apt -y install postgrespro-std-13-server postgrespro-std-13-contrib
После такой установки Вам необходимо произвести инициализацию БД, которая не означает автоматический запуск БД. Такой вариант установки особенно удобен при развертывании кластерного решения для БД, например Patroni.
Не забудьте изменить значение переменной окружения PGDATA в файл переменных среды сервиса - /etc/default/postgrespro-std-13
- Настройка профиля сервисной учетной записи
Можно воспользоваться поставляевой PostgresPro утилитой pg-wrapper
:
/opt/pgpro/std-13/bin/pg-wrapper links update
Но мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.profile /var/lib/postgresql/
echo -e '\nPATH=/opt/pgpro/std-13/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/postgresql/.profile
- Инициализация PostgresPro:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск и настройка автозапуска PostgresPro сервиса:
Для оригинальной версии PostgreSQL необходимо выполнить следующие действия:
sudo systemctl enable --now postgrespro-std-13.service
После завершения установки, не забудьте выполнить проверку в соостветсвии с Проверка после установки
Astra Linux Special Edition 1.8
Необходимо подключение публичного репозитория:
- [PostgresPro Standard 15 for Astra Linus SE]
deb https://repo.postgrespro.ru/std/std-15/astra-smolensk/1.8/ 1.8_x86-64 main
- Подключение репозитория PostgresPro:
echo "deb http://repo.postgrespro.ru/std-15/astra-smolensk/1.7 1.7_x86-64 main" \
| sudo /usr/bin/tee -a /etc/apt/sources.list.d/postgrespro-std-15.list
wget -qO- https://repo.postgrespro.ru/std/std-15/keys/GPG-KEY-POSTGRESPRO \
| sudo tee /etc/apt/trusted.gpg.d/postgrespro-std-15.asc
sudo apt update
- Установка пакетов сервера
postgrespro-std-13
:
БД можно установить в облегченном варианте, одной командой. Установка единственного пакета совмещена с инициализацией БД и настройкой авто-запуска сервиса.Но этот вариант не подходит при использовании нестандартного места расположения файлов БД.
sudo apt -y install postgrespro-std-15
В большинстве продуктовых решений используется, отличный от стандартного, путь до файлов БД. В этом случае необходимо установить совокупность пакетов:
sudo apt -y install postgrespro-std-15-server postgrespro-std-15-contrib
После такой установки Вам необходимо произвести инициализацию БД, которая не означает автоматический запуск БД. Такой вариант установки особенно удобен при развертывании кластерного решения для БД, например Patroni.
Не забудьте изменить значение переменной окружения PGDATA в файл переменных среды сервиса - /etc/default/postgrespro-std-15
- Настройка профиля сервисной учетной записи
Можно воспользоваться поставляевой PostgresPro утилитой pg-wrapper
:
/opt/pgpro/std-15/bin/pg-wrapper links update
Но мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.profile /var/lib/postgresql/
echo -e '\nPATH=/opt/pgpro/std-15/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/postgresql/.profile
- Инициализация PostgresPro:
sudo -iu postgres initdb
Если предполагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Запуск и настройка автозапуска PostgresPro сервиса:
Для оригинальной версии PostgreSQL необходимо выполнить следующие действия:
sudo systemctl enable --now postgrespro-std-15.service
После завершения установки, не забудьте выполнить проверку в соостветсвии с Проверка после установки
Alt Linux
Необходимо подключение публичного репозитория:
- Подключение репозитория PostgresPro
Перед началом установки необходимо убедиться, что установлен пакет sudo и у пользователя есть права выполнять команду sudo
Самый простой вариант - использовать скрипт, предлагаемый производителем:
curl https://repo.postgrespro.ru/std/std-15/keys/pgpro-repo-add.sh | sudo sh
При использовании локальных “зеркал” получите инструкцию по подключению от администраторов Корпоративного сервера репозиториев.
- Установка пакетов сервера
postgrespro-std
БД можно установить в облегченном варианте, одной командой. Установка единственного пакета совмещена с инициализацией БД и настройкой авто-запуска сервиса. Но этот вариант не подходит при использовании нестандартного места расположения файлов БД.
sudo apt-get update
sudo apt-get -y install postgrespro-std-15
В большинстве продуктовых решений используется, отличный от стандартного, путь до файлов БД. В этом случае необходимо установить совокупность пакетов:
sudo apt-get -y install postgrespro-std-15-server \
postgrespro-std-15-contrib
После такой установки Вам необходимо произвести инициализацию БД, и отредактировать конфигурационный файл /etc/default/postgrespro-std-15
и указать в нем значение для переменной PGDATA, например:
PGDATA=/data/pgdata
И создать целевую директорию:
mkdir -p /data/pgdata
chown -R postgres:postgres /data
chmod 750 /data /data/pgdata
- Настройка профиля сервисной учетной записи
Можно воспользоваться поставляемой PostgresPro утилитой pg-wrapper
:
/opt/pgpro/std-15/bin/pg-wrapper links update
Но мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
sudo install -o postgres -g postgres -m 600 \
/etc/skel/.bash_profile \
/etc/skel/.bashrc \
/var/lib/pgsql/
echo -e '\nPGDATA=/var/lib/pgpro/std-15/data\nPATH=/opt/pgpro/std-15/bin:$PATH\nexport PATH PGDATA\n' \
| sudo /usr/bin/tee -a /var/lib/pgsql/.bash_profile
Если планируется использование не-стандартного пути для хранения файлов БД, отредактируйте созданный конфигурационный файл - укажите значение переменной PGDATA, соответсвующее определенному ранее в п.2
- Инициализация PostgresPro:
sudo -iu postgres /opt/pgpro/std-15/bin/initdb
- Запуск и настройка автозапуска PostgresPro сервиса:
Для оригинальной версии PostgreSQL необходимо выполнить следующие действия:
sudo systemctl enable --now postgrespro-std-15.service
После завершения установки, не забудьте выполнить проверку в соответствии с Проверка после установки
Установка Jatoba
СУБД Jatoba основана на базе PostgreSQL, при установке требует получения лицензионного ключа. Запуск БД
Astra Linux Special Edition 1.7
Необходимо подключение публичного репозитория:
- Jatoba 4 for Astra Linus SE
Доступ к репозиторию предоставляется Производителем, поэтому в описании ниже будет использован не существующий URL для репозитория.
Для установки пакетов Jatoba 4 необходим GPG-ключ(доступен в репозитории) - DEB-GPG-KEY-Jatoba
- Подключение репозитория Jatoba4:
echo "deb https://repo.jatoba.ru/.../jatoba/astra-1_7-jatoba-4/ default all" \
| sudo /usr/bin/tee -a /etc/apt/sources.list.d/jatoba-4.list
sudo apt-key add DEB-GPG-KEY-Jatoba
sudo apt update
- Установка пакетов сервера
Jatoba4
:
sudo apt -y install jatoba4-client \
jatoba4-contrib \
jatoba4-libs \
jatoba4-server
- Настройка профиля сервисной учетной записи
Мы рекомендуем создать файл профиля для сервисной учетной записи postgres
:
echo -e '\nPATH=/usr/jatoba-4/bin:$PATH\nexport PATH\n' \
| sudo /usr/bin/tee -a /var/lib/jatoba/.bash_profile
- Инициализация БД:
sudo -iu postgres initdb
Если предполлагается отличный от стандартного путь до файлов БД, укажите его для параметра, например:
-D /data/pgdata
.
- Получение лицензионного ключа
Процедура получения ключа активации предполагает online-режим:
root@astra-template:~# cd /usr/jatoba-4/bin/
root@astra-template:/usr/jatoba-4/bin# ./jactivator
Добро пожаловать в центр активации Jatoba
Введите лицензионный ключ
XXXXX-XXXXX-XXXXX-XXX
Введите email адрес администратора
vpupkin@company.tld
Выберите способ активации:
Online-активация (введите 1)
Offline-активация (введите 2)
> 1
Используется сервер лицензирования: https://license.gaz-is.ru
Выберите режим активации:
Обычная активация (введите 1)
Реактивация (введите 2)
> 1
Время для активации 20 минут
Введите ключ активации с почты администратора
XXX-111-222-XXX
Введите путь для сохранения файла лицензии
/usr/jatoba-4/bin/
-------------------------------------------------
Лицензия выпущена, файл лицензии успешно сохранен
Файл: /usr/jatoba-4/bin//jatoba.cer
-------------------------------------------------
После получения ключа необходимо поменять права доступа на сертификат:
chown postgres.postgres /usr/jatoba-4/bin/jatoba.cer
И добавить параметры для проверки лицензии в конфигурационный файл ${PGDATA}/postgresql.conf
:
lic_product_name = 'Jatoba'
lic_file_path = '/usr/jatoba-4/bin/jatoba.cer'
lic_server_addr = 'https://license.gaz-is.ru'
- Запуск и настройка автозапуска Jatoba-4 сервиса:
sudo systemctl enable --now jatoba-4.service
Проверка после установки
Для корректной работы Luxms BI необходима не только работоспособная БД, но и доступность утилит БД для сервисной учетной записи. Поэтому после установки БД желательно провести следующие проверки.
- Проверка работоспособности БД
ss -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 951/sshd: /usr/sbin
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2660/postgres
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1066/master
tcp6 0 0 :::22 :::* LISTEN 951/sshd: /usr/sbin
tcp6 0 0 ::1:5432 :::* LISTEN 2660/postgres
tcp6 0 0 ::1:25 :::* LISTEN 1066/master
Вы должны увидеть процесс, который слушает на порту 5432. На этом этапе не важно, на каком IP-адресе слушает сервис.
- Переключиться в shell сервисной учетной записи и проверить доступность необходимых комманд:
sudo -iu postgres
[sudo] password for admin:
[postgres@demo-bi ~]$ pg_dump -V
pg_dump (PostgreSQL) 13.13
[postgres@demo-bi ~]$ pg_ctl -V
pg_ctl (PostgreSQL) 13.13
[postgres@demo-bi ~]$ psql
psql (13.13)
Type "help" for help.
postgres=# exit
[postgres@demo-bi ~]$