SLAPD.BACKENDS(5)            File Formats Manual           SLAPD.BACKENDS(5)

NAME         top

       slapd.backends - backends for slapd, the stand-alone LDAP daemon

DESCRIPTION         top

       The slapd(8) daemon can use a variety of different backends for
       serving LDAP requests.  Backends may be compiled statically into
       slapd, or when module support is enabled, they may be dynamically
       loaded. Multiple instances of a backend can be configured, to serve
       separate databases from the same slapd server.

       Configuration options for each backend are documented separately in
       the corresponding slapd-<backend>(5) manual pages.

       bdb    This was the recommended primary backend through OpenLDAP 2.3,
              but it has since been superseded by the hdb backend.  It takes
              care to configure it properly.  It uses the transactional
              database interface of the Oracle Berkeley DB (BDB) package to
              store data.

       config This backend is used to manage the configuration of slapd at
              run-time.  Unlike other backends, only a single instance of
              the config backend may be defined. It also instantiates itself
              automatically, so it is always present even if not explicitly
              defined in the slapd.conf(5) file.

       dnssrv This backend is experimental.  It serves up referrals based
              upon SRV resource records held in the Domain Name System.

       hdb    This is the recommended primary backend for a normal slapd
              database.  hdb is a variant of the bdb backend that uses a
              hierarchical database layout.  This layout stores entry DNs
              more efficiently than the bdb backend, using less space and
              requiring less work to create, delete, and rename entries. It
              is also one of the few backends to support subtree renames.

       ldap   This backend acts as a proxy to forward incoming requests to
              another LDAP server.

       ldif   This database uses the filesystem to build the tree structure
              of the database, using plain ascii files to store data.  Its
              usage should be limited to very simple databases, where
              performance is not a requirement. This backend also supports
              subtree renames.

       mdb    This will soon be the recommended primary backend, superseding
              hdb.  This backend uses OpenLDAP's own MDB transactional
              database library. It is extremely compact and extremely
              efficient, delivering much higher performance than the
              Berkeley DB backends while using significantly less memory.
              Also, unlike Berkeley DB, MDB is crash proof, and requires no
              special tuning or maintenance.  This backend also supports
              subtree renames.

       meta   This backend performs basic LDAP proxying with respect to a
              set of remote LDAP servers. It is an enhancement of the ldap

              This backend provides information about the running status of
              the slapd daemon. Only a single instance of the monitor
              backend may be defined.

       ndb    This backend is experimental.  It uses the transactional
              database interface of the MySQL Cluster Engine (NDB) to store
              data. Note that Oracle, which now owns MySQL, has withdrawn
              support for NDB and this backend is unlikely to be developed
              any further.

       null   Operations in this backend succeed but do nothing.

       passwd This backend is provided for demonstration purposes only.  It
              serves up user account information from the system passwd(5)

       perl   This backend embeds a perl(1) interpreter into slapd.  It runs
              Perl subroutines to implement LDAP operations.

       relay  This backend is experimental.  It redirects LDAP operations to
              another database in the same server, based on the naming
              context of the request.  Its use requires the rwm overlay (see
              slapo-rwm(5) for details) to rewrite the naming context of the
              request.  It is primarily intended to implement virtual views
              on databases that actually store data.

       shell  This backend executes external programs to implement LDAP
              operations.  It is primarily intended to be used in

       sql    This backend is experimental.  It services LDAP requests from
              an SQL database.

FILES         top

              default slapd configuration file

              default slapd configuration directory

SEE ALSO         top

       ldap(3), slapd-bdb(5), slapd-config(5), slapd-dnssrv(5),
       slapd-hdb(5), slapd-ldap(5), slapd-ldif(5), slapd-mdb(5),
       slapd-meta(5), slapd-monitor(5), slapd-ndb(5), slapd-null(5),
       slapd-passwd(5), slapd-perl(5), slapd-relay(5), slapd-shell(5),
       slapd-sql(5), slapd.conf(5), slapd.overlays(5), slapd(8).  "OpenLDAP
       Administrator's Guide" (


       OpenLDAP Software is developed and maintained by The OpenLDAP Project
       <>.  OpenLDAP Software is derived from the
       University of Michigan LDAP 3.3 Release.

COLOPHON         top

       This page is part of the OpenLDAP (an open source implementation of
       the Lightweight Directory Access Protocol) project.  Information
       about the project can be found at ⟨⟩.  If you
       have a bug report for this manual page, see 
       ⟨⟩.  This page was obtained from the
       project's upstream Git repository 
       ⟨git://⟩ on 2017-03-13.  If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page, or
       you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a mail

OpenLDAP LDVERSION               RELEASEDATE               SLAPD.BACKENDS(5)