You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
How to Disable Automatic Compaction in CouchDB to Preserve Old Revisions #5960
How to Disable Automatic Compaction in CouchDB to Preserve Old Revisions
Description
Hi Team,
I’m working with CouchDB and need to retain older document revisions (_rev) for auditing and historical tracking purposes. However, I’ve observed that automatic compaction is removing old revisions, which is impacting my use case.
Requirement
I want to:
Prevent CouchDB from deleting old revisions during compaction
Access older _rev data when needed
Current Behavior
Automatic compaction is running in the background
Old document revisions are being cleaned up after compaction
Unable to retrieve previous revisions once compaction occurs
Expected Behavior
Old revisions should be retained (or at least compaction should not run automatically)
Compaction should only run manually when explicitly triggered
Questions
How can I disable automatic compaction (Smoosh) in CouchDB?
Is there a way to retain old revisions even after compaction?
What configuration controls revision retention (revs_limit or others)?
Are there recommended approaches for audit/history use cases in CouchDB?
What I’ve Explored
Looked into CouchDB config files (local.ini, default.ini)
Suspecting the Smoosh daemon is triggering auto compaction
Aware of _revs_limit but unsure how it interacts with compaction
Environment
CouchDB Version: (please specify)
Deployment: (Docker / VM / Kubernetes / etc.)
Additional Context
This is part of a requirement where I need to track historical changes of documents, so losing old revisions is not acceptable.
Any guidance on best practices or configuration changes would be greatly appreciated.
Expected Behaviour
Old revisions should be retained (or at least compaction should not run automatically)
Compaction should only run manually when explicitly triggered
Hi, This is a misconception and you need to change tactic. Compaction is not optional, it is essential for performance and the only way to recover disk space. If you need "old" versions of your data you need to preserve them in the latest revision of some document.
To expand a little, you absolutely can build an application that retains a history of your documents but you need to build it yourself, couchdb is not providing one automatically for you with our MVCC feature.
Activity
big-r81 commentedon Apr 6, 2026
Hey, please read this post – it’s a good starting point for deciding whether this is a good idea for your use case or not.
rnewson commentedon Apr 7, 2026
Hi, This is a misconception and you need to change tactic. Compaction is not optional, it is essential for performance and the only way to recover disk space. If you need "old" versions of your data you need to preserve them in the latest revision of some document.
rnewson commentedon Apr 7, 2026
To expand a little, you absolutely can build an application that retains a history of your documents but you need to build it yourself, couchdb is not providing one automatically for you with our MVCC feature.