Fix up mix of man(7)/mdoc(7).
[netbsd-mini2440.git] / external / ibm-public / postfix / dist / README_FILES / CDB_README
blob502b7c4911cca2692232445f90b983b394cec01b
1 P\bPo\bos\bst\btf\bfi\bix\bx C\bCD\bDB\bB H\bHo\bow\bwt\bto\bo
3 -------------------------------------------------------------------------------
5 I\bIn\bnt\btr\bro\bod\bdu\buc\bct\bti\bio\bon\bn
7 CDB (Constant DataBase) is an indexed file format designed by Daniel Bernstein.
8 CDB is optimized exclusively for read access and guarantees that each record
9 will be read in at most two disk accesses. This is achieved by forgoing support
10 for incremental updates: no single-record inserts or deletes are supported. CDB
11 databases can be modified only by rebuilding them completely from scratch,
12 hence the "constant" qualifier in the name.
14 Postfix CDB databases are specified as "cdb:name", where name specifies the CDB
15 file name without the ".cdb" suffix (another suffix, ".tmp", is used
16 temporarily while a CDB file is under construction). CDB databases are
17 maintained with the postmap(1) or postalias(1) command. The DATABASE_README
18 document has general information about Postfix databases.
20 CDB support is available with Postfix 2.2 and later releases. This document
21 describes how to build Postfix with CDB support.
23 B\bBu\bui\bil\bld\bdi\bin\bng\bg P\bPo\bos\bst\btf\bfi\bix\bx w\bwi\bit\bth\bh C\bCD\bDB\bB s\bsu\bup\bpp\bpo\bor\brt\bt
25 These instructions assume that you build Postfix from source code as described
26 in the INSTALL document. Some modification may be required if you build Postfix
27 from a vendor-specific source package.
29 Postfix is compatible with two CDB implementations:
31   * The original cdb library from Daniel Bernstein, available from http://
32     cr.yp.to/cdb.html, and
34   * tinycdb (version 0.5 and later) from Michael Tokarev, available from http:/
35     /www.corpit.ru/mjt/tinycdb.html.
37 Tinycdb is preferred, since it is a bit faster, has additional useful
38 functionality and is much simpler to use.
40 To build Postfix after you have installed tinycdb, use something like:
42     % make tidy
43     % CDB=../../../tinycdb-0.5
44     % make -f Makefile.init makefiles "CCARGS=-DHAS_CDB -I$CDB" \
45         "AUXLIBS=$CDB/libcdb.a"
46     % make
48 Alternatively, for the D.J.B. version of CDB:
50     % make tidy
51     % CDB=../../../cdb-0.75
52     % make -f Makefile.init makefiles "CCARGS=-DHAS_CDB -I$CDB" \
53         "AUXLIBS=$CDB/cdb.a $CDB/alloc.a $CDB/buffer.a $CDB/unix.a $CDB/byte.a"
54     % make
56 After Postfix has been built with cdb support, you can use "cdb" tables
57 wherever you can use read-only "hash", "btree" or "dbm" tables. However, the
58 "p\bpo\bos\bst\btm\bma\bap\bp -\b-i\bi" (incremental record insertion) and "p\bpo\bos\bst\btm\bma\bap\bp -\b-d\bd" (incremental
59 record deletion) command-line options are not available. For the same reason
60 the "cdb" map type cannot be used to store the persistent address verification
61 cache for the verify(8) service, or to store TLS session information for the
62 tlsmgr(8) service.