Секция [SQLite]

В секции [SQLite] собраны настройки взаимодействия Dr.Web MailD с СУБД SQLite:

Database = {путь к файлу}

Путь к файлу базы данных SQLite.

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

Database =

SizeLimit = {числовое значение}

Максимальное количество строк, получаемых в ответ на один запрос к базе данных.

При значении 0 ограничения отсутствуют

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

SizeLimit = 1

SkipDomains = {LookupLite}

Список доменов, для которых не нужно выполнять запрос к базе данных.

Данная настройка зачастую позволяет значительно снизить нагрузку на сервер и повысить производительность.

Обратите внимание, что значение параметра – LookupLite.

Значение параметра может быть указано в локальных настройках Lookup.

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

SkipDomains =

OnError = {ignore | exception}

Задает процедуру обработки ошибок, возникающих в обработке Lookup при обращении к указанному источнику данных.

ignore – следует игнорировать возникшую ошибку и продолжить обработку письма (происходит только регистрация ошибки в журнале);

exception – следует сгенерировать исключение, которое будет обрабатываться как ошибка обработки письма, в соответствии со значением параметра ProcessingError, заданного в настройках того компонента, при работе которого эта ошибка возникла.

Значение параметра может быть указано в локальных настройках Lookup.

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

OnError = ignore

Lib = {путь к файлу}

Путь к библиотеке libsqlite3.so.

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

Lib = /usr/lib/libsqlite3.so

BusyTimeout = {числовое значение}

Максимальное время (в миллисекундах), в течение которого Dr.Web MailD будет пытаться осуществить запись в базу данных.

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

BusyTimeout = 2000

Пожалуйста, обратите внимание на ряд особенностей использования СУБД SQLite:

В силу особенностей работы СУБД SQLite, файл базы данных блокируется каждый раз, когда в него осуществляется запись. Поэтому если с файлом базы данных SQLite работает несколько программ, то возможны ситуации, когда очередному записывающему процессу не удастся получить монопольный доступ к хранилищу в течение времени, указанного в значении параметра BusyTimeout. В результате процесс записи прервется с ошибкой "Database is locked".

Следует избегать использования графических интерфейсов к базе данных SQLite. Они способны блокировать базу данных "про запас".

Если сторонний процесс заблокировал файл базы данных надолго, то возможны ошибки при экспорте статистики. Конфликты возможны также, если Dr.Web MailD настроен на экспорт различных видов статистики в один и тот же файл базы данных SQLite, а заданное время ожидания слишком мало.

Если база данных SQLite, из которой брались настройки для ряда параметров (с помощью Lookup типа sqlite), была недоступна в течение некоторого времени, а потом соединение с базой данных было восстановлено, то для восстановления соединения Dr.Web MailD с SQLite нужно послать сигнал SIGHUP модулю drweb-maild.