А3. Использование СУБД PostgreSQL

Общее описание

PostgreSQL — объектно-реляционная СУБД. Является свободной альтернативой коммерческой СУБД (таким как Oracle Database, Microsoft SQL Server и др.). В больших антивирусных сетях СУБД PostgreSQL может быть использована в качестве внешней БД для Dr.Web Enterprise Security Suite.

Чтобы использовать PostgreSQL в качестве внешней БД

1.Установить сервер PostgreSQL или Postgres Pro.

2.Настроить Сервер Dr.Web на использование соответствующей внешней базы. Это можно сделать в конфигурационном файле или при помощи Центра управления: в меню Конфигурация Сервера Dr.Web, на вкладке База данных.

При подключении к БД PostgreSQL может быть использована только авторизация trust, password и MD5.

Установка и поддерживаемые версии

1.Загрузите самую последнюю версию бесплатного продукта PostgreSQL (сервер PostgreSQL) или, по крайней мере, не используйте версию ранее чем 8.4 или 11.4.1 для Postgres Pro.

2.Создайте базу данных PostgreSQL одним из следующих способов:

a)При помощи графического интерфейса pgAdmin.

b)При помощи SQL-команды CREATE DATABASE.

База данных должна быть создана в кодировке UTF8.

Переход на внешнюю БД описан в п. Смена типа базы данных.

Также обратите внимание на системные требования к Серверу Dr.Web при работе с внешней базой данных PostgreSQL (см. Руководство по установке, п. Системные требования).

Параметры

При настройке обращения к БД PostgreSQL используются параметры, описываемые в таблице ниже.

PostgreSQL

Имя

Значение по умолчанию

Описание

host

<Локальный UNIX-сокет>

Хост сервера PostgreSQL

port

 

Порт сервера PostgreSQL или расширение имени файла сокета

dbname

drwcs

Название базы данных

user

drwcs

Имя пользователя

password

drwcs

Пароль

options

 

Опции отладки/трассировки для отправки серверу

requiressl

 

1 для запроса установки SSL соединения

0 для отсутствия запроса

temp_tablespaces

 

Пространство имен для временных таблиц

default_transaction_isolation

 

Режим изоляции транзакции (см. документацию к PostgreSQL)

Допускается указание любого из режимов изоляции транзакции, поддерживаемых PostgreSQL, однако корректная работа Сервера Dr.Web при режиме Repeatable read не гарантируется.

Техническую информацию можно также найти по адресу https://www.postgresql.org/docs/.

Взаимодействие Сервера Dr.Web с БД PostgreSQL через UDS

При установке Сервера Dr.Web и БД PostgreSQL на одной машине возможна настройка их взаимодействия через UDS (доменный сокет UNIX).

Чтобы настроить работу через UDS

1.В конфигурационном файле БД PostgreSQL postgresql.conf прописать следующую директорию для UDS:

unix_socket_directory = '/var/run/postgresql'

2.Перезапустить PostgreSQL.

Настройка базы данных PostgreSQL

Для увеличения производительности при работе с базой данных PostgreSQL рекомендуется провести настройку на основе информации из официальных руководств по базе данных.

В случае использования базы данных больших размеров и при наличии соответствующих вычислительных ресурсов, рекомендуется настроить следующие параметры в конфигурационном файле postgresql.conf:

Минимальная настройка:

shared_buffers = 256MB

work_mem = 16MB

Расширенная настройка:

shared_buffers = 1GB

work_mem = 32MB

fsync = off

synchronous_commit = off

wal_sync_method = fdatasync

commit_delay = 1000

max_locks_per_transaction = 256

max_pred_locks_per_transaction = 256

Параметр fsync = off значительно повышает производительность, однако может привести к полной потере данных в случае отключения питания или сбоя системы. Отключение параметра fsync рекомендуется только при наличии резервной копии базы данных для возможности ее полного восстановления.

 

Настройка параметра max_locks_per_transaction может быть полезна для обеспечения бесперебойной работы при массовом обращении к таблицам базы данных, в частности, при обновлении базы данных до новой версии.