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. SeeGET /{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: - Accept –
- application/json
- text/plain
- Content-Type – application/json
Response Headers: - Content-Type –
- application/json
- text/plain; charset=utf-8
Response JSON Object: - ok (boolean) – Operation status
Status Codes: - 202 Accepted – Compaction request has been accepted
- 400 Bad Request – Invalid database name
- 401 Unauthorized – CouchDB Server Administrator privileges required
- 415 Unsupported Media Type – Bad Content-Type value
Request:
POST /db/_compact HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Response:
HTTP/1.1 202 Accepted Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Mon, 12 Aug 2013 09:27:43 GMT Server: CouchDB (Erlang/OTP) { "ok": true }
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: - Accept –
- application/json
- text/plain
- Content-Type – application/json
Response Headers: - Content-Type –
- application/json
- text/plain; charset=utf-8
Response JSON Object: - ok (boolean) – Operation status
Status Codes: - 202 Accepted – Compaction request has been accepted
- 400 Bad Request – Invalid database name
- 401 Unauthorized – CouchDB Server Administrator privileges required
- 404 Not Found – Design document not found
- 415 Unsupported Media Type – Bad Content-Type value
Request:
POST /db/_compact/posts HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Response:
HTTP/1.1 202 Accepted Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Mon, 12 Aug 2013 09:36:44 GMT Server: CouchDB (Erlang/OTP) { "ok": true }
Note
View indexes are stored in a separate
.couch
file based on a hash of the design document’s relevant functions, in a sub directory of where the main.couch
database files are located.
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 alwaysfalse
now, so commits are never delayed. However, this endpoint is kept for compatibility with older replicators.Parameters: - db – Database name
Request Headers: - Accept –
- application/json
- text/plain
- Content-Type – application/json
Response Headers: - Content-Type –
- application/json
- text/plain; charset=utf-8
Response JSON Object: - instance_start_time (string) – Always
"0"
. (Returned for legacy reasons.) - ok (boolean) – Operation status
Status Codes: - 201 Created – Commit completed successfully
- 400 Bad Request – Invalid database name
- 415 Unsupported Media Type – Bad Content-Type value
Request:
POST /db/_ensure_full_commit HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Response:
HTTP/1.1 201 Created Cache-Control: must-revalidate Content-Length: 53 Content-Type: application/json Date: Mon, 12 Aug 2013 10:22:19 GMT Server: CouchDB (Erlang/OTP) { "instance_start_time": "0", "ok": true }
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: - Accept –
- application/json
- text/plain
- Content-Type – application/json
Response Headers: - Content-Type –
- application/json
- text/plain; charset=utf-8
Response JSON Object: - ok (boolean) – Operation status
Status Codes: - 202 Accepted – Compaction request has been accepted
- 400 Bad Request – Invalid database name
- 401 Unauthorized – CouchDB Server Administrator privileges required
- 415 Unsupported Media Type – Bad Content-Type value
Request:
POST /db/_view_cleanup HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Response:
HTTP/1.1 202 Accepted Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Mon, 12 Aug 2013 09:27:43 GMT Server: CouchDB (Erlang/OTP) { "ok": true }