Postfix CDB Howto


Перевод: Доморадов Алексей. Все права защищены. Copyright © 2007.

Примечание: При размещении данного материала у себя на сайте, просьба указывать ссылку на оригинальный сайт - www.sys-adm.org.ua.

Все замечания и предложения по переводу документации на русский язык, а также найденные ошибки и опечатки присылайте на мой электронный адрес.

Благодарности: Спасибо всем, кто помогал мне переводить эту документацию.

Особенное спасибо: Галинурову Кириллу и Грозаку Михаилу aka RedStalker_Mike.

Special thanks to: Igor Luzanov aka ISKATEL.


Введение

CDB (Constant DataBase - неизменяемая база данных) проиндексированный формат файла, разработанный Daniel Bernstein. CDB оптимизирована исключительно для чтения и гарантирует, что каждая запись будет прочитана максимум за два обращения к диску. Это достигается отказом от поддержки инкрементальных обновлений: нет поддержки добавления или удаления одной записи. База данных CDB может быть изменена только полной пересборкой ее с шаблона, отсюда слово "constant" в названии.

CDB база данных Postfix указывается как "cdb:name", где name указывает имя файла CDB без суффикса ".cdb" (другой суффикс, ".tmp", используется временно, пока создается CDB файл). Базы данных CDB поддерживаются командой postmap(1) или postalias(1). Документ DATABASE_README содержит основную информацию о базах данных Postfix.

Поддержка CDB доступна в Postfix 2.2 и более поздних версиях. Этот документ описывает, как собрать Postfix с поддержкой CDB.

Сборка Postfix с поддержкой CDB

Postfix совместим с двумя реализациями CDB:

Tinycdb более предпочтительна, так как она немного быстрее, имеет дополнительные полезные функциональные возможности и ее намного проще использовать.

Для сборки Postfix после того, как вы установили CDB, используйте, что-то вроде:

% make tidy
% CDB=../../../tinycdb-0.5
% make -f Makefile.init makefiles "CCARGS=-DHAS_CDB -I$CDB" \
    "AUXLIBS=$CDB/libcdb.a"
% make

для tinycdb или альтернативы, D.J.B. версии:

% make tidy
% CDB=../../../cdb-0.75
% make -f Makefile.init makefiles "CCARGS=-DHAS_CDB -I$CDB" \
    "AUXLIBS=$CDB/cdb.a $CDB/alloc.a $CDB/buffer.a $CDB/unix.a $CDB/byte.a"
% make

После того, как postfix был собран с поддержкой cdb, вы можете использовать "cdb" таблицы везде, где вы можете использовать таблицы доступные только для чтения - "hash", "btree" или "dbm". Однако опции командой строки "postmap -i" (инкрементальное добавление записи) и "postmap -d" (инкрементальное удаление записи) будут недоступны. По этой причине тип карты "cdb" не может быть использован для хранения постоянного кеша проверки адреса, сервиса verify(8).


Дата последнего обновления: 30.10.2008. Postfix version: 2.3.4.