1.3.13. /db/_compact

POST /{db}/_compact

Request compaction of the specified database. Compaction compresses the disk database file by performing the following operations:

  • Writes a new, optimised, version of the database file, removing any unused sections from the new version during write. Because a new file is temporarily created for this purpose, you may require up to twice the current storage space of the specified database in order for the compaction routine to complete.
  • Removes the bodies of any non-leaf revisions of documents from the database.
  • Removes old revision history beyond the limit specified by the _revs_limit database parameter.

Compaction can only be requested on an individual database; you cannot compact all the databases for a CouchDB instance. The compaction process runs as a background process.

You can determine if the compaction process is operating on a database by obtaining the database meta information, the compact_running value of the returned database structure will be set to true. See GET /{db}.

You can also obtain a list of running processes to determine whether compaction is currently running. See /_active_tasks.

Parameters:
  • db – Database name
Request Headers:
 
Response Headers:
 
Response JSON Object:
 
  • ok (boolean) – Operation status
Status Codes:

Request:

  1. POST /db/_compact HTTP/1.1
  2. Accept: application/json
  3. Content-Type: application/json
  4. Host: localhost:5984

Response:

  1. HTTP/1.1 202 Accepted
  2. Cache-Control: must-revalidate
  3. Content-Length: 12
  4. Content-Type: application/json
  5. Date: Mon, 12 Aug 2013 09:27:43 GMT
  6. Server: CouchDB (Erlang/OTP)
  7. {
  8. "ok": true
  9. }

1.3.14. /db/_compact/design-doc

POST /{db}/_compact/{ddoc}

Compacts the view indexes associated with the specified design document. It may be that compacting a large view can return more storage than compacting the actual db. Thus, you can use this in place of the full database compaction if you know a specific set of view indexes have been affected by a recent database change.

Parameters:
  • db – Database name
  • ddoc – Design document name
Request Headers:
 
Response Headers:
 
Response JSON Object:
 
  • ok (boolean) – Operation status
Status Codes:

Request:

  1. POST /db/_compact/posts HTTP/1.1
  2. Accept: application/json
  3. Content-Type: application/json
  4. Host: localhost:5984

Response:

  1. HTTP/1.1 202 Accepted
  2. Cache-Control: must-revalidate
  3. Content-Length: 12
  4. Content-Type: application/json
  5. Date: Mon, 12 Aug 2013 09:36:44 GMT
  6. Server: CouchDB (Erlang/OTP)
  7. {
  8. "ok": true
  9. }

1.3.15. /db/_ensure_full_commit

POST /{db}/_ensure_full_commit

Changed in version 3.0.0: Deprecated; endpoint is a no-op.

Before 3.0 this was used to commit recent changes to the database in case the delayed_commits=true option was set. That option is always false now, so commits are never delayed. However, this endpoint is kept for compatibility with older replicators.

Parameters:
  • db – Database name
Request Headers:
 
Response Headers:
 
Response JSON Object:
 
  • instance_start_time (string) – Always “0”. (Returned for legacy reasons.)
  • ok (boolean) – Operation status
Status Codes:

Request:

  1. POST /db/_ensure_full_commit HTTP/1.1
  2. Accept: application/json
  3. Content-Type: application/json
  4. Host: localhost:5984

Response:

  1. HTTP/1.1 201 Created
  2. Cache-Control: must-revalidate
  3. Content-Length: 53
  4. Content-Type: application/json
  5. Date: Mon, 12 Aug 2013 10:22:19 GMT
  6. Server: CouchDB (Erlang/OTP)
  7. {
  8. "instance_start_time": "0",
  9. "ok": true
  10. }

1.3.16. /db/_view_cleanup

POST /{db}/_view_cleanup

Removes view index files that are no longer required by CouchDB as a result of changed views within design documents. As the view filename is based on a hash of the view functions, over time old views will remain, consuming storage. This call cleans up the cached view output on disk for a given view.

Parameters:
  • db – Database name
Request Headers:
 
Response Headers:
 
Response JSON Object:
 
  • ok (boolean) – Operation status
Status Codes:

Request:

  1. POST /db/_view_cleanup HTTP/1.1
  2. Accept: application/json
  3. Content-Type: application/json
  4. Host: localhost:5984

Response:

  1. HTTP/1.1 202 Accepted
  2. Cache-Control: must-revalidate
  3. Content-Length: 12
  4. Content-Type: application/json
  5. Date: Mon, 12 Aug 2013 09:27:43 GMT
  6. Server: CouchDB (Erlang/OTP)
  7. {
  8. "ok": true
  9. }