/{db}/_compact
-
POST/{db}/_compact -
Запросить уплотнение указанной базы данных. Уплотнение сжимает файл базы данных на диске, выполняя следующие операции:
Создаёт новую, оптимизированную версию файла базы данных, удаляя из новой версии все неиспользуемые разделы во время записи. Для этого временно создаётся новый файл, поэтому для завершения процедуры уплотнения может потребоваться вдвое больше места, чем в настоящее время занимает указанная база данных.
Удаляет из базы данных тела всех нелистовых ревизий документов.
Удаляет старую историю ревизий, выходящую за пределы, заданные параметром базы данных
_revs_limit.
Запросить уплотнение можно только для отдельной базы данных; уплотнить все базы данных экземпляра CouchDB нельзя. Процесс уплотнения выполняется в фоновом режиме.
Определить, выполняется ли процесс уплотнения базы данных, можно, получив метаинформацию базы данных: значение
compact_runningв возвращаемой структуре базы данных будет установлено в true. См.GET /{db}.Также можно получить список выполняющихся процессов, чтобы определить, выполняется ли в данный момент уплотнение. См. /_active_tasks.
- Параметры:
-
db – Имя базы данных
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
Content-Type – application/json
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
ok (boolean) – Статус операции
- Коды состояния:
-
202 Accepted – Запрос на уплотнение принят
400 Bad Request – Недопустимое имя базы данных
401 Unauthorized – Требуются права администратора сервера CouchDB
403 Forbidden – Недостаточно прав / Слишком много запросов с недействительными учётными данными
415 Unsupported Media Type – Недопустимое значение Content-Type
Запрос:
POST /db/_compact HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Ответ:
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 }
/{db}/_compact/{ddoc}
-
POST/{db}/_compact/{ddoc} -
Уплотняет индексы представлений, связанные с указанным документом дизайна. Уплотнение большого представления может освободить больше места, чем уплотнение самой базы данных. Поэтому, если вы знаете, что недавнее изменение базы данных затронуло определённый набор индексов представлений, можно использовать этот метод вместо полного уплотнения базы данных. Подробнее см. в разделе Ручное уплотнение представлений.
- Параметры:
-
db – Имя базы данных
ddoc – Имя документа дизайна
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
Content-Type – application/json
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
ok (boolean) – Статус операции
- Коды состояния:
-
202 Принято – Запрос на уплотнение принят
400 Неверный запрос – Недопустимое имя базы данных
401 Не авторизован – Требуются права администратора сервера CouchDB
403 Доступ запрещён – Недостаточно прав / Слишком много запросов с недействительными учётными данными
404 Не найдено – Документ дизайна не найден
415 Неподдерживаемый тип данных – Некорректное значение Content-Type
Запрос:
POST /db/_compact/ddoc HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Ответ:
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 }Примечание
Индексы представлений хранятся в отдельном файле
.couch, имя которого формируется на основе хеша соответствующих функций документа дизайна. Файл находится во вложенном каталоге рядом с основными файлами базы данных.couch.
/{db}/_ensure_full_commit
-
POST/{db}/_ensure_full_commit -
Изменено в версии 3.0.0: Устарел; конечная точка не выполняет никаких действий.
До версии 3.0 этот метод использовался для фиксации последних изменений в базе данных, если был задан параметр
delayed_commits=true. Теперь этот параметр всегдаfalse, поэтому фиксация изменений никогда не откладывается. Однако эта конечная точка сохранена для совместимости со старыми репликаторами.- Параметры:
-
db – Имя базы данных
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
Content-Type – application/json
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON ответа:
-
instance_start_time (string) – Всегда
"0". (Возвращается для обратной совместимости.)ok (boolean) – Статус операции
- Коды состояния:
-
201 Создано – Фиксация изменений успешно завершена
400 Неверный запрос – Недопустимое имя базы данных
401 Не авторизован – Неавторизованный запрос к защищённому API
403 Доступ запрещён – Недостаточно прав / Слишком много запросов с недействительными учётными данными
415 Неподдерживаемый тип данных – Некорректное значение Content-Type
Запрос:
POST /db/_ensure_full_commit HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Ответ:
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 }
/{db}/_view_cleanup
-
POST/{db}/_view_cleanup -
Удаляет файлы индексов представлений, которые больше не нужны CouchDB из-за изменений представлений в документах дизайна. Поскольку имя файла представления основано на хеше функций представления, со временем остаются старые представления, занимающие место в хранилище. Этот вызов очищает кэшированные выходные данные представления на диске для указанного представления.
- Параметры:
-
db – Имя базы данных
- Заголовки запроса:
-
-
Accept –
application/json
text/plain
Content-Type – application/json
-
- Заголовки ответа:
-
-
application/json
text/plain; charset=utf-8
-
- Объект JSON в ответе:
-
ok (boolean) – Статус операции
- Коды состояния:
-
202 Принято – Запрос на уплотнение принят
400 Неверный запрос – Недопустимое имя базы данных
401 Не авторизован – Требуются права администратора сервера CouchDB
403 Доступ запрещён – Недостаточно прав / Слишком много запросов с недействительными учётными данными
415 Неподдерживаемый тип данных – Недопустимое значение Content-Type
Запрос:
POST /db/_view_cleanup HTTP/1.1 Accept: application/json Content-Type: application/json Host: localhost:5984
Ответ:
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 }
Copyright © 2025 The Apache Software Foundation — Licensed under the Apache License 2.0
https://docs.couchdb.org/en/3.5.1/api/database/compact.html