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

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

       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

       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 prototypes.

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

              default slapd configuration file

              default slapd configuration directory

       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
       University of Michigan LDAP 3.3 Release.

OpenLDAP 2.4.40                   2014/09/20                 SLAPD.BACKENDS(5)