1.9. Upgrading from prior CouchDB releases

    • We recommend that you overwrite your file with the version provided by the new release. New defaults sometimes contain mandatory changes to enable default functionality. Always places your customizations in etc/local.ini or any file.

    If you are coming from a prior release of CouchDB 2.x, upgrading is simple.

    If you are running a standalone (single) CouchDB node:

    1. Backup everything.

    2. Check for new recommended settings in the shipped etc/local.ini file, and merge any changes desired into your own local settings file(s).

    3. Stop CouchDB.

    4. Be sure to create an admin user if you do not have one. CouchDB 3.0+ require an admin user to start (the admin party has ended).

    5. Start CouchDB.

    6. Relax! You’re done.

    1.9.2.2. Cluster upgrades

    CouchDB 2.x and 3.x are explicitly designed to allow “mixed clusters” during the upgrade process. This allows you to perform a rolling restart across a cluster, upgrading one node at a time, for a zero downtime upgrade. The process is also entirely scriptable within your configuration management tool of choice.

    We’re proud of this feature, and you should be, too!

    If you are running a CouchDB cluster:

    1. Stop CouchDB on a single node.

    2. Upgrade that CouchDB install in place.

    3. Start CouchDB.

    4. Double-check that the node has re-joined the cluster through the /_membership <api/server/membership> endpoint. If your load balancer has health check functionality driven by the /_up <api/server/up> endpoint, check whether it thinks the node is healthy as well.

    5. Repeat the last 4 steps on the remaining nodes in the cluster.

    6. Relax! You’re done.

    To upgrade from CouchDB 1.x, first upgrade to a version of CouchDB 2.x. You will need to convert all databases to CouchDB 2.x format first; see the Upgrade Notes there for instructions. Then, upgrade to CouchDB 3.x.