Настройка сервера PostgreSQL или Postgres Pro для работы с Kaspersky EDR Expert
Скопировано

16 октября 2026

ID 241223

Настройка сервера PostgreSQL или Postgres Pro для работы с Kaspersky EDR Expert

Чтобы настроить сервер PostgreSQL или Postgres Pro для работы с Сервером администрирования, необходимо использовать параметры сервера по умолчанию, если в этой статье не указаны иные параметры.

Kaspersky EDR Expert поддерживает системы управления базами данных (СУБД) PostgreSQL или Postgres Pro. Полный список поддерживаемых СУБД см. в разделе Аппаратные и программные требования. Вы можете настроить параметры сервера СУБД для оптимизации работы СУБД с Сервером администрирования. Соответствие параметров сервера СУБД рекомендуемым значениям является одним из обязательных условий для установки Kaspersky EDR Expert. Соответствие параметров проверяется с помощью KDT.

Найдите конфигурационный файл СУБД:

  • Путь по умолчанию к конфигурационному файлу PostgreSQL: /etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf
  • По умолчанию конфигурационный файл Postgres Pro расположен по пути /var/lib/pgpro/std-<ВЕРСИЯ>/data/postgresql.conf

Если конфигурационный файл отсутствует по пути по умолчанию, определите фактическое местоположение файла с помощью следующих команд:

sudo su - postgres

psql -c 'SHOW config_file'

Вывод команды будет содержать путь к конфигурационному файлу.

Затем выполните следующую команду, чтобы завершить сеанс пользователя postgres:

exit

Рекомендуемые параметры для работы СУБД PostgreSQL и Postgres Pro с Сервером администрирования:

  • listen_addresses = '*'

    Задает IP-интерфейсы, которые будет прослушивать Сервер администрирования. В целях безопасности настройте сетевой экран, чтобы разрешить доступ к порту 5432 только для доверенных IP-адресов.

  • max_connections = 512

    Это минимально рекомендованное значение, вы можете указать большее. Если вы используете кластерную СУБД Postgres, укажите параметр max_connections для всех серверов СУБД и в конфигурации кластера.

  • shared_buffers = N

    N = 25%–40% от объема оперативной памяти устройства, на котором установлена ​​СУБД, но не менее 3 ГБ.

  • temp_buffers = 24MB
  • work_mem = 16MB
  • maintenance_work_mem = 128MB
  • max_stack_depth = N

    Если СУБД установлена на устройстве с операционной системой Linux, N это максимальный размер стека минус запас прочности 1 МБ. Чтобы получить максимальное значение размера стека в КБ, выполните команду "ulimit -s".

    Если СУБД установлена на устройстве Windows, оставьте значение по умолчанию 2 МБ.

  • max_parallel_workers_per_gather = 0
  • standard_conforming_strings = on

Если вы используете Postgres Pro 15.7 или Postgres Pro 15.7.1, выключите параметр enable_compound_index_stats:

enable_compound_index_stats = off

После обновления конфигурационного файла примените конфигурацию или перезапустите службу СУБД.

Подробную информацию о параметрах сервера PostgreSQL и Postgres Pro, а также о том, как указать эти параметры, см. в документации соответствующей СУБД.

Укажите записи аутентификации для узлов в конфигурационном файле pg_hba.conf. Этот файл находится по тому же пути, что и postgresql.conf.

  • В разделе "# "local" is for Unix domain socket connections only" для узла local в столбце METHOD измените значение на trust.
  • В разделе "IPv4 local connections" для узла host в столбце ADDRESS измените значение на 0.0.0.0/0.
  • Выполните следующую команду, чтобы применить изменения без перезапуска сервера СУБД:

    sudo -u postgres psql -c "SELECT pg_reload_conf();"

Укажите пароль пользователя postgres.

  1. Выполните следующие команды:

    sudo su - postgres

    psql

    Вывод команды должен быть следующим:

    psql (15.12)

    Для получения справки введите "help".

    postgres=#

  2. После postgres=# введите \password:

    postgres=# \password

  3. Введите и повторите пароль:

    Введите новый пароль для пользователя "postgres".

    Введите его еще раз:

  4. Чтобы завершить сеанс пользователя postgres:

    postgres=# exit

Компоненты Kaspersky EDR Expert требуют указания учетных данных суперпользователя PostgreSQL в parameters.psql_dsn в качестве значения. Укажите учетные данные postgres в конфигурационном файле развертывания. Дополнительные сведения приведены в разделах Развертывание на одном узле: параметры установки и Развертывание на нескольких узлах: параметры установки в зависимости от схемы развертывания.

Проверка подключения к базе данных

Чтобы проверить соединение с базой данных, выполните следующие действия:

  1. Убедитесь, что служба Postgres запущена.

    systemctl list-unit-files | grep postgres

    Пример вывода:

    postgrespro-std-17.service enabled enabled

  2. Перезапустите службу Postgres:

    systemctl restart <служба_Postgres>

    где <служба_Postgres> – это имя службы Postgres, полученное на шаге 1 этой инструкции.

  3. Запустите psql, чтобы проверить подключение:

    psql -h <fqdn> -U postgres -d postgres

    Введите пароль, указанный ранее:

    Пароль для пользователя postgres:

    Пример вывода:

    psql (17.4)

    Для получения справки введите "help".

  4. Введите exit:

    postgres=# exit

Поддержка кластеров высокой надежности

Высокодоступные кластеры PostgreSQL поддерживаются со следующими параметрами:

  • Тип репликации: синхронная.
  • Минимальное количество узлов: 3.
  • Максимальное количество узлов: 15.

Задайте параметр psql_dsn следующим образом: postgres://<dbms_username>:<password>@<fqdn1>:<port>,<fqdn2>:<port>,<fqdn3>:<port>.

При использовании высокодоступного кластера Postgres версии 14 и выше в качестве базы данных пользователь базы данных должен иметь привилегии pg_read_all_stats. Вы можете предоставить эту привилегию, выполнив следующую команду:

GRANT pg_read_all_stats TO "dbms_username";

где dbms_username – имя привилегированной внутренней учетной записи СУБД.

Укажите следующий параметр в конфигурационном файле (/etc/postgresql/<ВЕРСИЯ>/main/postgresql.conf):

log_hostname = 1

Поддержка Corosync/Pacemaker

Чтобы использовать Corosync/Pacemaker, укажите параметр psql_dsn с виртуальным IP-адресом кластера СУБД следующим образом:

psql_dsn=postgres://postgres:pass!@<virtual ip>:<port>

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!