Enabling the backend
--------------------
-When building PowerDNS yourself, append ``lmdb`` to ``--with-modules``
-or ``--with-dynmodules``. It is expected that most pre-built packages
-contain this backend or be separately installable.
+When building PowerDNS yourself, append ``lmdb`` to ``--with-modules`` or ``--with-dynmodules``. It is expected that most pre-built packages contain this backend or be separately installable.
Settings
.. warning::
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.
+ 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:
``lmdb-shards``
^^^^^^^^^^^^^^^^^
-Records database will be split into this number of shards
-e.g. lmdb-shards=64
+Records database will be split into this number of shards e.g. lmdb-shards=64
.. _setting-lmdb-sync-mode:
Synchronisation mode: nosync, nometasync, mapasync
-* ``parsed successfully at <time>`` or
-
* ``nosync``: Don't flush systems buffers to disk when committing a transation.
- This means a system crash can corrupt the database or lose the last
- transactions if buffers are not yet flushed to disk.
-* ``nometasync``: Flush the data on a commit. Slightly faster than doing a
- full sync, but can potentially lose the last committed transaction if the
- operating system crashes.
-* ``mapasync``: use asynchronous flushes to disk. As with nosync, a system crash
- can then corrupt the database or lose the last transactions.
+ This means a system crash can corrupt the database or lose the last transactions if buffers are not yet flushed to disk.
+* ``nometasync``: Flush the data on a commit. Slightly faster than doing a full sync, but can potentially lose the last committed transaction if the operating system crashes.
+* ``mapasync``: use asynchronous flushes to disk. As with nosync, a system crash can then corrupt the database or lose the last transactions.
LMDB Structure
--------------
-PowerDNS will create the database structure, no need to manually create the
-database schema.
-Also, it is not possible to directly query the LMDB DB, so recommendation is to
-use either the API, or pdnsutil.
+PowerDNS will create the database structure, no need to manually create the database schema.
+Also, it is not possible to directly query the LMDB DB, so recommendation is to use either the API, or pdnsutil.