Higher values may result in better read performance due to fewer read
operations and/or more OS page cache hits. However, they can also
increase overall response time for writes when there are many
attachment write requests in parallel.

Default security object for databases if not explicitly set. When set to everyone, anyone can performs reads and writes. When set to admin_only, only admins can read and write. When set to admin_local, sharded databases can be read and written by anyone but the shards can only be read and written by admins.

When this config value is false the CouchDB provides a guarantee
that fsync will be called before returning a 201 Created
response on each document save. Setting this config value to true
may improve performance, at cost of some durability. For production use
disabling this is strongly recommended:

[couchdb]delayed_commits=false

Warning

Delayed commits are a feature of CouchDB that allows it to achieve
better write performance for some workloads while sacrificing a
small amount of durability. The setting causes CouchDB to wait up
to a full second before committing new data after an update. If the
server crashes before the header is written then any writes since
the last commit are lost.

This option places an upper bound on the number of databases that can
be open at once. CouchDB reference counts database accesses internally
and will close idle databases as needed. Sometimes it is necessary to
keep more than the default open at once, such as in deployments where
many databases will be replicating continuously.

If an external process, such as a query server or external process,
runs for this amount of milliseconds without returning any results, it
will be terminated. Keeping this value smaller ensures you get
expedient errors, but you may want to tweak it for your specific
needs.

This file contains the full URI that can be used to access this
instance of CouchDB. It is used to help discover the port CouchDB is
running on (if it was set to 0 (e.g. automatically assigned any
free one). This file should be writable and readable for the user that
runs the CouchDB service (couchdb by default).

A CouchDB node may be put into two distinct maintenance modes by setting
this configuration parameter.

true: The node will not respond to clustered requests from other
nodes and the /_up endpoint will return a 404 response.

nolb: The /_up endpoint will return a 404 response.

false: The node responds normally, /_up returns a 200 response.

It is expected that the administrator has configured a load balancer
in front of the CouchDB nodes in the cluster. This load balancer should
use the /_up endpoint to determine whether or not to send HTTP requests
to any particular node. For HAProxy, the following config is
appropriate:

Limit maximum document body size. Size is calculated based on the
serialized Erlang representation of the JSON document body, because
that reflects more accurately the amount of storage consumed on disk.
In particular, this limit does not include attachments.

HTTP requests which create or update documents will fail with error
code 413 if one or more documents is larger than this configuration
value.

In case of _update handlers, document size is checked after the
transformation and right before being inserted into the database.

[couchdb]max_document_size=4294967296 ; 4 GB

Warning

Before version 2.1.0 this setting was implemented by simply checking
http request body sizes. For individual document updates via PUT
that approximation was close enough, however that is not the case
for _bulk_docs endpoint. After 2.1.0 a separate configuration
parameter was defined: httpd/max_http_request_size,
which can be used to limit maximum http request sizes. After upgrade,
it is advisable to review those settings and adjust them accordingly.