Scroll to navigation

SLAPINDEX(8) System Manager's Manual SLAPINDEX(8)


slapindex - Reindex entries in a SLAPD database


/usr/sbin/slapindex [-b suffix] [-c] [-d debug-level] [-f slapd.conf] [-F confdir] [-g] [-n dbnum] [-o option[=value]] [-q] [-t] [-v] [attr[...]]


Slapindex is used to regenerate slapd(8) indices based upon the current contents of a database. It opens the given database determined by the database number or suffix and updates the indices for all values of all attributes of all entries. If a list of specific attributes is provided on the command line, only the indices for those attributes will be regenerated. Databases configured as subordinate of this one are also re-indexed, unless -g is specified.

All files eventually created by slapindex will belong to the identity slapindex is run as, so make sure you either run slapindex with the same identity slapd(8) will be run as (see option -u in slapd(8)), or change file ownership before running slapd(8).


Use the specified suffix to determine which database to generate output for. By default, the first database that supports the requested operation is used. The -b cannot be used in conjunction with the -n option.
enable continue (ignore errors) mode.
enable debugging messages as defined by the specified debug-level; see slapd(8) for details.
specify an alternative slapd.conf(5) file.
specify a config directory. If both -f and -F are specified, the config file will be read and converted to config directory format and written to the specified directory. If neither option is specified, an attempt to read the default config directory will be made before trying to use the default config file. If a valid config directory exists then the default config file is ignored.
disable subordinate gluing. Only the specified database will be processed, and not its glued subordinates (if any).
Generate output for the dbnum-th database listed in the configuration file. The config database slapd-config(5), is always the first database, so use -n 0

The -n cannot be used in conjunction with the -b option.

Specify an option with a(n optional) value. Possible generic options/values are:

syslog=<subsystems> (see `-s' in slapd(8))
syslog-level=<level> (see `-S' in slapd(8))
syslog-user=<user> (see `-l' in slapd(8))
enable quick (fewer integrity checks) mode. Performs no consistency checks when writing the database. Improves indexing time, however the database will most likely be unusable if any errors or interruptions occur.
enable truncate mode. Truncates (empties) an index database before indexing any entries. May only be used with back-mdb.
enable verbose mode.


Your slapd(8) should not be running (at least, not in read-write mode) when you do this to ensure consistency of the database.

slapindex ought to be run as the user specified for slapd(8) to ensure correct database permissions.

This command provides ample opportunity for the user to obtain and drink their favorite beverage.


To reindex your SLAPD database, give the command:

To regenerate the index for only a specific attribute, e.g. "uid", give the command:

	/usr/sbin/slapindex uid


ldap(3), ldif(5), slapadd(8), ldapadd(1), 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.

2024/05/21 OpenLDAP 2.6.8+dfsg-1~exp2