Apache CouchDB
Erlang JavaScript Python C Shell Ruby Other
Switch branches/tags
Clone or download
garrensmith Add constant index fields to sort based on the selector (#1376)
This moves the sort check into the is_usable function for all indexes.
For map/reduce indexes it can add any constant fields e.g {a: {"$eq": 4}
to the prefix of the sort because it won't affect the actual sort but
will increase the chance that an index is selected. This is a user
experience fix to help a user if they don't add all the columns for an
index to the sort fields.
Latest commit 5b5c8a1 Jun 20, 2018
Failed to load latest commit information.
.github chore: no need to make it look one needs to create an issue on top of… Oct 12, 2017
bin Merge branch '1843-feature-bigcouch' Jul 10, 2014
build-aux Various top-level directory cleanups Mar 27, 2018
dev Fix for issue #603 - Error 500 when creating a db below quorum Jan 31, 2018
rel Add _approx_count_distinct as a builtin reduce function (#1346) Jun 6, 2018
share/server Improve reduce function overlow handling Mar 28, 2017
src Add constant index fields to sort based on the selector (#1376) Jun 20, 2018
support do not pollute the global scope Sep 9, 2016
test Add _approx_count_distinct as a builtin reduce function (#1346) Jun 6, 2018
.gitignore Add _approx_count_distinct as a builtin reduce function (#1346) Jun 6, 2018
.mailmap Integrate Sphinx into autotools Dec 11, 2012
.travis.yml Travis: s/20.0/20.1 for build Oct 26, 2017
BUGS.md Update README Jenkins link and minor misc. cleanup Aug 18, 2017
COMMITTERS.md Various top-level directory cleanups Mar 27, 2018
CONTRIBUTING.md Update CONTRIBUTING.md to reflect monorepo Jun 30, 2017
CONTRIBUTORS.in Moving THANKS.in to CONTRIBUTORS.in Oct 30, 2014
INSTALL.Unix.md Updating verifyinstall URL Oct 29, 2017
INSTALL.Windows.md Revise Windows installation readme Jul 19, 2016
Jenkinsfile Jenkinsfile: typo Jun 11, 2018
LICENSE Add _approx_count_distinct as a builtin reduce function (#1346) Jun 6, 2018
Makefile Allow custom compile options with env variable Jun 14, 2018
Makefile.win Key tree property tests Apr 3, 2018
NOTICE Add _approx_count_distinct as a builtin reduce function (#1346) Jun 6, 2018
README-DEV.rst Remove outdated docker targets and docs (#1109) Jan 24, 2018
README.rst Update README Jenkins link and minor misc. cleanup Aug 18, 2017
configure feat: add ./configure --dev as alias for -c --disable-{docs,fauxton} Feb 14, 2018
configure.ps1 Fix Windows build Jul 8, 2017
rebar.config.script Allow custom compile options with env variable Jun 14, 2018
setup_eunit.template Don't include eunit.ini into release May 11, 2015
version.mk Version bump to 2.2.0 for future release Nov 6, 2017


Apache CouchDB README

Travis CI master build status travisci
Jenkins CI master build status jenkins


For a high-level guide to Unix-like systems, inc. Mac OS X and Ubuntu, see:


For a high-level guide to Microsoft Windows, see:


Follow the proper instructions to get CouchDB installed on your system.

If you're having problems, skip to the next section.


We have documentation:


It includes a changelog:


For troubleshooting or cryptic error messages, see:


For general help, see:


We also have an IRC channel:


The mailing lists provide a wealth of support and knowledge for you to tap into. Feel free to drop by with your questions or discussion. See the official CouchDB website for more information about our community resources.

Verifying your Installation

Run a basic test suite for CouchDB by browsing here:

Getting started with developing

For more detail, read the README-DEV.rst file in this directory.

Basically you just have to install the needed dependencies which are documented in the install docs and then run ./configure && make.

You don't need to run make install after compiling, just use ./dev/run to spin up three nodes. You can add haproxy as a caching layer in front of this cluster by running ./dev/run --with-haproxy --haproxy=/path/to/haproxy . You will now have a local cluster listening on port 5984.

For Fauxton developers fixing the admin-party does not work via the button in Fauxton. To fix the admin party you have to run ./dev/run with the admin flag, e.g. ./dev/run --admin=username:password. If you want to have an admin-party, just omit the flag.

Contributing to CouchDB

You can learn more about our contributing process here:


Cryptographic Software Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See <http://www.wassenaar.org/> for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

CouchDB includes a HTTP client (ibrowse) with SSL functionality.