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

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

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

Для использования PostgreSQL в качестве внешней БД необходимо:

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

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

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

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

1.Загрузите самую последнюю версию бесплатного продукта PostgreSQL (сервер PostgreSQL и, если необходимо, соответствующий ODBC-драйвер) или, по крайней мере, не используйте версию младше чем 8.4.

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

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

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

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

Переход на внешнюю БД описан в п. Смена типа СУБД Dr.Web Enterprise Security Suite.

Также обратите внимание на системные требования к Серверу 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)

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

Взаимодействие Сервера 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

temp_buffers = 64MB

work_mem = 16MB

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

shared_buffers = 1GB

temp_buffers = 128MB

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 может быть полезна для обеспечения бесперебойной работы при массовом обращении к таблицам базы данных, в частности, при обновлении базы данных до новой версии.