LMDB_TABLE(5)                                                    LMDB_TABLE(5)

名称
       lmdb_table - Postfix LMDB 适配器

概述
       postmap lmdb:/etc/postfix/文件名
       postmap -i lmdb:/etc/postfix/文件名 <输入文件

       postmap -d "键名" lmdb:/etc/postfix/文件名
       postmap -d - lmdb:/etc/postfix/文件名 <输入文件

       postmap -q "键名" lmdb:/etc/postfix/文件名
       postmap -q - lmdb:/etc/postfix/文件名 <输入文件

描述
       Postfix LMDB 适配器提供了对持久化、内存映射的键值存储的访问能力。
       数据库大小仅受内存地址空间限制(32位CPU通常为31位,64位CPU通常为47位)
       以及可用文件系统空间限制。

请求处理
       LMDB 适配器支持所有 Postfix 查找表操作,使其适用于:
       - 地址重写
       - 邮件路由
       - 访问控制策略
       - 缓存系统
       - 任何可通过固定键值存储的信息

       当事务因数据库空间不足失败时,Postfix 会自动调整数据库大小并重试。

       Postfix 表查询可能使用部分匹配键,例如:
       - 缺少子域的域名
       - 缺少低位字节的网络地址
       - 缺少本地部分/域名扩展的邮件地址
       此行为与 btree:、hash: 或 ldap: 等表类型一致。

       修改 LMDB 数据库后:
       - 不会触发自动服务重启
       - 无需执行 postfix reload 命令

可靠性
       LMDB 采用写时复制架构:
       - 优点:确保更新操作的安全性
       - 缺点:相比其他平面文件数据库占用更多空间

       性能优化:
       - 读操作:采用内存映射加速访问
       - 写操作:禁用内存映射,防止因指针错误导致静默数据损坏

       多进程支持:
       - 无需通过 proxymap(8) 服务序列化请求
       - 适合作为 verify(8)postscreen(8) 的共享缓存
同步机制
       Postfix LMDB 适配器采用特殊的锁机制设计:

       安全模型:
       - 禁用 LMDB 原生锁协议(需全局可写锁文件,违反安全原则)
       - 改用 fcntl(2) 文件锁(基于整个数据库文件)

       注意事项:
       1. 所有读写事务必须全程保持:
          - 共享锁(读操作)
          - 独占锁(写操作)
       2. 允许锁降级:
          - 写事务开始前必须持独占锁
          - 可降级为共享锁后开启读事务
       3. 进程内保护:
          - fcntl(2) 锁不隔离同进程内的并发事务
          - 需额外使用进程内互斥锁

配置参数
       配置加载策略:
       - 短期进程:自动加载 main.cf 变更
       - 长期进程:需执行 postfix reload 生效

       核心参数:
       lmdb_map_size (默认值:16777216)
              OpenLDAP LMDB 数据库初始大小限制(单位:字节)

相关文档
       命令手册:
       - postconf(1):Postfix 支持的查找表类型
       - postmap(1):查找表维护工具
       - postconf(5):配置参数详解

       指南文档:
       - DATABASE_README:查找表技术概览
       - LMDB_README:OpenLDAP LMDB 专项指南

授权协议
       本软件需遵循 Secure Mailer 许可证条款分发。

历史版本
       LMDB 支持始于 Postfix 2.11 版本

作者信息
       Howard Chu
       Symas 公司

       Wietse Venema
       IBM T.J. Watson 研究院
       美国纽约州约克敦高地
       704号信箱(邮编:10598)

       Wietse Venema
       Google 公司
       美国纽约州纽约市
       第八大道111号(邮编:10011)

                                                                 LMDB_TABLE(5)