1.2.23. Configuration
The CouchDB Server Configuration API provide an interface to query and update the various configuration values within a running CouchDB instance.
1.2.23.1. Accessing the local node’s configuration
The literal string _local
serves as an alias for the local node name, so for all configuration URLs, {node-name}
may be replaced with _local
, to interact with the local node’s configuration.
1.2.23.2. /_node/{node-name}/_config
GET
/_node/{node-name}/_config
Returns the entire CouchDB server configuration as a JSON structure. The structure is organized by different configuration sections, with individual values.
Request Headers
Accept –
application/json
text/plain
Response Headers
-
application/json
text/plain; charset=utf-8
Status Codes
200 OK – Request completed successfully
401 Unauthorized – CouchDB Server Administrator privileges required
Request
GET /_node/nonode@nohost/_config HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 4148
Content-Type: application/json
Date: Sat, 10 Aug 2013 12:01:42 GMT
Server: CouchDB (Erlang/OTP)
{
"attachments": {
"compressible_types": "text/*, application/javascript, application/json, application/xml",
"compression_level": "8"
},
"couchdb": {
"users_db_suffix": "_users",
"database_dir": "/var/lib/couchdb",
"max_attachment_chunk_size": "4294967296",
"max_dbs_open": "100",
"os_process_timeout": "5000",
"uri_file": "/var/lib/couchdb/couch.uri",
"util_driver_dir": "/usr/lib64/couchdb/erlang/lib/couch-1.5.0/priv/lib",
"view_index_dir": "/var/lib/couchdb"
},
"chttpd": {
"allow_jsonp": "false",
"backlog": "512",
"bind_address": "0.0.0.0",
"port": "5984",
"require_valid_user": "false",
"socket_options": "[{sndbuf, 262144}, {nodelay, true}]",
"server_options": "[{recbuf, undefined}]",
"secure_rewrites": "true"
},
"httpd": {
"authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}",
"bind_address": "192.168.0.2",
"max_connections": "2048",
"port": "5984",
},
"log": {
"writer": "file",
"file": "/var/log/couchdb/couch.log",
"include_sasl": "true",
"level": "info"
},
"query_server_config": {
"reduce_limit": "true"
},
"replicator": {
"max_http_pipeline_size": "10",
"max_http_sessions": "10"
},
"stats": {
"interval": "10"
},
"uuids": {
"algorithm": "utc_random"
}
}
1.2.23.3. /_node/{node-name}/_config/{section}
GET
/_node/{node-name}/_config/{section}
Gets the configuration structure for a single section.
Parameters
- section – Configuration section name
Request Headers
Accept –
application/json
text/plain
Response Headers
-
application/json
text/plain; charset=utf-8
Status Codes
200 OK – Request completed successfully
401 Unauthorized – CouchDB Server Administrator privileges required
Request:
GET /_node/nonode@nohost/_config/httpd HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 444
Content-Type: application/json
Date: Sat, 10 Aug 2013 12:10:40 GMT
Server: CouchDB (Erlang/OTP)
{
"authentication_handlers": "{couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}",
"bind_address": "127.0.0.1",
"default_handler": "{couch_httpd_db, handle_request}",
"port": "5984"
}
1.2.23.4. /_node/{node-name}/_config/{section}/{key}
GET
/_node/{node-name}/_config/{section}/{key}
Gets a single configuration value from within a specific configuration section.
Parameters
section – Configuration section name
key – Configuration option name
Request Headers
Accept –
application/json
text/plain
Response Headers
-
application/json
text/plain; charset=utf-8
Status Codes
200 OK – Request completed successfully
401 Unauthorized – CouchDB Server Administrator privileges required
Request:
GET /_node/nonode@nohost/_config/log/level HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 8
Content-Type: application/json
Date: Sat, 10 Aug 2013 12:12:59 GMT
Server: CouchDB (Erlang/OTP)
"debug"
Note
The returned value will be the JSON of the value, which may be a string or numeric value, or an array or object. Some client environments may not parse simple strings or numeric values as valid JSON.
PUT
/_node/{node-name}/_config/{section}/{key}
Updates a configuration value. The new value should be supplied in the request body in the corresponding JSON format. If you are setting a string value, you must supply a valid JSON string. In response CouchDB sends old value for target section key.
Parameters
section – Configuration section name
key – Configuration option name
Request Headers
Accept –
application/json
text/plain
Content-Type – application/json
Response Headers
-
application/json
text/plain; charset=utf-8
Status Codes
200 OK – Request completed successfully
400 Bad Request – Invalid JSON request body
401 Unauthorized – CouchDB Server Administrator privileges required
500 Internal Server Error – Error setting configuration
Request:
PUT /_node/nonode@nohost/_config/log/level HTTP/1.1
Accept: application/json
Content-Length: 7
Content-Type: application/json
Host: localhost:5984
"info"
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 8
Content-Type: application/json
Date: Sat, 10 Aug 2013 12:12:59 GMT
Server: CouchDB (Erlang/OTP)
"debug"
DELETE
/_node/{node-name}/_config/{section}/{key}
Deletes a configuration value. The returned JSON will be the value of the configuration parameter before it was deleted.
Parameters
section – Configuration section name
key – Configuration option name
Request Headers
Accept –
application/json
text/plain
Response Headers
-
application/json
text/plain; charset=utf-8
Status Codes
200 OK – Request completed successfully
401 Unauthorized – CouchDB Server Administrator privileges required
404 Not Found – Specified configuration option not found
Request:
DELETE /_node/nonode@nohost/_config/log/level HTTP/1.1
Accept: application/json
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 7
Content-Type: application/json
Date: Sat, 10 Aug 2013 12:29:03 GMT
Server: CouchDB (Erlang/OTP)
"info"
1.2.23.5. /_node/{node-name}/_config/_reload
New in version 3.0.
POST
/_node/{node-name}/_config/_reload
Reloads the configuration from disk. This has a side effect of flushing any in-memory configuration changes that have not been committed to disk.
Request:
POST /_node/nonode@nohost/_config/_reload HTTP/1.1
Host: localhost:5984
Response:
HTTP/1.1 200 OK
Cache-Control: must-revalidate
Content-Length: 12
Content-Type: application/json
Date: Tues, 21 Jan 2020 11:09:35
Server: CouchDB/3.0.0 (Erlang OTP)
{"ok":true}