* Slave: Yes
* Superslave: No
* Case: All lower
-* DNSSEC: Yes
+* DNSSEC: Yes
* Disabled data: No
* Comments: No
* Module name: lmdb
.. warning::
- The LMDB backend is considered stable as of 4.3.0, but it has one important `known bug <https://github.com/PowerDNS/pdns/issues/8012>`__, that affects anybody with big records such as long TXT content. Because of that bug, we suspect production deployment is still limited, which means some bugs may not have been found yet. We do not plan to do any breaking changes in the 4.3.x time frame; this means that the 'long content' bug will hopefully be fixed in 4.4.0.
+ The LMDB backend is considered stable as of 4.4.0. Version 4.3.0 was stable but had important `known bug <https://github.com/PowerDNS/pdns/issues/8012>`__, that affects anybody with big records such as long TXT content.
Enabling the backend
--------------------
Path to the LMDB file (e.g. */var/spool/powerdns/pdns.lmdb*)
.. warning::
- On systemd systems,
+ On systemd systems,
When running PowerDNS via the provided systemd service file, `ProtectSystem <http://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectSystem=>`_ is set to ``full``, this means PowerDNS is unable to write to e.g. ``/etc`` and ``/home``, possibly being unable to write to the LMDB database.
.. _setting-lmdb-shards:
Synchronisation mode: sync, nosync, nometasync, mapasync
Default: mapasync
-* ``sync``: LMDB synchronous mode. Safest option, but also slightly slower. Can also be enabled with ``lmdb-sync-mode=``
+* ``sync``: LMDB synchronous mode. Safest option, but also slightly slower. Can also be enabled with ``lmdb-sync-mode=``
* ``nosync``: don't flush systems buffers to disk when committing a transaction.
This means a system crash can corrupt the database or lose the last transactions if buffers are not yet flushed to disk.
* ``nometasync``: flush system buffers to disk only once per transaction, omit the metadata flush. This maintains database integrity, but can potentially lose the last committed transaction if the operating system crashes.
The default value for this setting is the highest supported schema version for the version of PowerDNS you are starting. if you want to prevent automatic schema upgrades, explicitly set this setting to the current default before upgrading PowerDNS.
++------------------------------------------------+---------------------+
+| PowerDNS Version | LMDB Schema version |
++================================================+=====================+
+| 4.2.x | 1 |
+| 4.3.x | 2 |
+| 4.4.x and up | 3 |
++------------------------------------------------+---------------------+
+
+
LMDB Structure
--------------