Стандартный сценарий запуска ECCM подразумевает, что при запуске системы будут предоставлены права подключения привилегированного пользователя Postgres с правами на создание баз данных, пользователей и подключение плагинов к базам данных. Сценарий реализуется запуском базы данных на отдельном сервере в Docker-контейнере, алгоритм описан в статье Запуск ECCM с базой данных на отдельном сервере. Если такой подход невозможен по требованиям безопасности, создайте базы данных и пользователей вручную. Ниже приведён алгоритм создания базы данных вручную для Ubuntu 22.04.5.
Начиная с версии ECCM 2.7, поддерживаются следующие версии СУБД:
| Версия PostgreSQL | Версия плагина timescaledb | Версия плагина timescaledb-toolkit |
|---|---|---|
| 16.11 | 2.24.0 | 1.22.0 |
Установить СУБД PostgresPro или СУБД PostgreSQL 16 по официальной документации производителя.
Установите плагин timescaledb версии 2.24.0 и timescaledb-toolkit версии 1.22.0.
Для установки плагинов timescaledb и timescaledb-toolkit рекомендуется обратиться к официальной документации. |
Создайте базы данных, активируйте расширения и добавьте пользователей:
CREATE DATABASE eccm; -- После создания базы данных, перейдите в нее для выполнения дальнейших команд \c eccm CREATE USER "eccm" WITH LOGIN; GRANT ALL PRIVILEGES ON DATABASE eccm TO eccm; ALTER DATABASE "eccm" OWNER TO "eccm"; ALTER ROLE "eccm" WITH LOGIN ENCRYPTED PASSWORD 'eccm'; CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; CREATE EXTENSION IF NOT EXISTS timescaledb_toolkit; CREATE EXTENSION IF NOT EXISTS pg_stat_statements; CREATE EXTENSION IF NOT EXISTS pg_trgm; ALTER EXTENSION timescaledb UPDATE; ALTER EXTENSION timescaledb_toolkit UPDATE; |
В файле ./eccm/.env настройте параметры доступа к базе данных:
ROOT_POSTGRES_USER=tester ROOT_POSTGRES_PASSWORD=tester ECCM_POSTGRES_DB=eccm ECCM_POSTGRES_USER=eccm |
Важно, чтобы переменная |
Запустите скрипт compose-tools.sh в корневой директории проекта, указав ключи:
--pull --start <адрес веб-интерфейса> --database-host <HOST> --database-port <PORT> |
Например:
./compose-tools.sh --pull --start eccm9.test.loc --database-host 100.110.2.2 --database-port 5432 |
Перед запуском самих контейнеров скрипт проверяет наличие файла |
Контейнеры продукта ECCM самостоятельно проведут миграции и создадут таблицы для полноценной работы системы в базе данных.