LMDB_TABLE(5)

NAME
lmdb_table - Postfix LMDB adapter

SYNOPSIS
postmap lmdb:/etc/postfix/filename
postmap -i lmdb:/etc/postfix/filename <inputfile
postmap -d "key" lmdb:/etc/postfix/filename
postmap -d - lmdb:/etc/postfix/filename <inputfile
postmap -q "key" lmdb:/etc/postfix/filename
postmap -q - lmdb:/etc/postfix/filename <inputfile

DESCRIPTION
The Postfix LMDB adapter provides access to a persistent, memory-mapped, key-value store. The database size is limited only by the size of the memory address space (typically 32 or 64 bits) and by the available file system space.

REQUESTS
The LMDB adapter supports all Postfix lookup table operations. This makes LMDB suitable for Postfix address rewriting, routing, access policies, caches, or any information that can be stored under a fixed lookup key. When a transaction fails due to a full database, Postfix resizes the database and retries the transaction. Postfix access, address mapping and routing table lookups may generate partial search keys such as domain names without one or more subdomains, network addresses without one or more least-significant octets, or email addresses without the localpart, address extension or domain portion. This behavior is also found with btree:, hash:, or ldap: tables. Unlike other flat-file based Postfix databases, changes to an LMDB database do not trigger automatic daemon program restart.

RELIABILITY
LMDB's copy-on-write architecture achieves reliable updates, at the cost of using more space than some other flat-file databases. Read operations are memory-mapped for speed. Write operations are not memory-mapped to avoid silent curruption due stray pointer bugs. The Postfix LMDB adapter implements locking with fcntl(2) locks at whole-file granularity. LMDB's native locking scheme would require world-writable lockfiles and would therefore violate the Postfix security model. Multiple processes can safely update an LMDB database without serializing requests through the proxymap(8) service. This makes LMDB suitable as a shared cache for verify(8) or postscreen(8) services.

CONFIGURATION PARAMETERS
Short-lived programs automatically pick up changes to main.cf. With long-running daemon programs, Use the command "postfix reload" after a configuration change.

lmdb_map_size (default: 16777216)
    The initial LMDB database size limit in bytes.

SEE ALSO
postconf(1), Postfix supported lookup tables
postmap(1), Postfix lookup table maintenance
postconf(5), configuration parameters

README FILES
Use "postconf readme_directory" or "postconf html_directory" to locate this information.
DATABASE_README, Postfix lookup table overview
LMDB_README, Postfix OpenLDAP LMDB howto

LICENSE
The Secure Mailer license must be distributed with this software.

HISTORY
LMDB support was introduced with Postfix version 2.11.

AUTHOR(S)
Howard Chu
Symas Corporation
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA