Upgrading to CouchDB 0.11

Just a few days ago, CouchDB version 0.11 was released – this new version is packed full of cool new features as outlined on the Couch.io blog. It’s also the first release without the Alpha or Beta label attached to it.
Apache CouchDB Logo
What’s more exciting, CouchDB version 0.11 is a feature-freeze release candidate for the upcoming version 1.0. So if you’ve played around with CouchDB and have an old instance laying around, now is the time to upgrade.

If you’ve read my previous series on using CouchDB to build cloud telephony applications with Voxeo’s Tropo platform, and you used my instructions for setting up CouchDB on Ubuntu 8.04, then upgrading to CouchDB version 0.11 will be a piece of cake. (Note – the mirror you download from may be different than below. Go to the download page to find the best one):

Before upgrading, make sure that any customizations you’ve made to the CouchDB configuration are in /usr/local/etc/couchdb/local.ini. The upgrade process will overwrite any changes you have made in default.ini.

$ sudo /usr/local/etc/init.d/couchdb stop

You should probably run make uninstall on the previous version of CouchDB before starting.
If you see leftover files in /user/local
$ find /usr/local -name *couch* | wc -l

You should probably get rid of them:
$ find /usr/local -name *couch* | xargs rm -rf

$ wget http://www.trieuvan.com/apache/couchdb/0.11.0/apache-couchdb-0.11.0.tar.gz
$ tar -zxvf apache-couchdb-0.11.0.tar.gz
$ cd apache-couchdb-0.11.0/
$ ./configure && make && sudo make install
$ sudo /usr/local/etc/init.d/couchdb start
$ curl -X GET

You should see:


Note – if you see an error that says {"error":"error","reason":"eacces"} when trying to create a database or insert documents, you may need to re run some commands listed in the previous install instructions:

$ sudo chown -R couchdb /usr/local/etc/couchdb
$ sudo chown -R couchdb /usr/local/var/lib/couchdb
$ sudo chown -R couchdb /usr/local/var/log/couchdb

I’m in the process of finishing up a project that will make use of the Open311 API deployed by the City of San Francisco and it shall be SQL-free – now that I have CouchDB 0.11 installed, I’m ready to finish up.

Stay tuned – this project is going to kill!


5 thoughts on “Upgrading to CouchDB 0.11

  1. Yeah, I should have added that detail.

    I did a make uninstall on the older version, and then I ran find /usr/local -name *couch* | xargs rm -rf to get rid of some leftover files (not sure why they weren’t removed).

    Then I ran through the configure and make steps on the new version listed above.

    Seemed to work…

  2. Hmmm. It appears that something in this sequence of steps removed the local.ini config file from the previous install – I’m assuming that it as make uninstall.

    Best to back that file up before using these steps if you want to retain your previous config.

    Hope others find this helpful.

  3. Mark,

    That new CouchDB replication sounds fascinating! Thanks for linking to it… one of these days I have to get my brain out of PowerPoint and back into some coding. Very cool stuff happening.


  4. Dan – agreed! There is some cool stuff happening, particularly in the NoSQL space.

    One of things I am most taken with about CouchDB is the _changes feed. Basically a way to “listen” to a CouchDB instance and be notified when there are changes.

    Its a hugely powerful mechanism for building messaging applications – i.e., when something changes that you want to trigger a message off of.

    I’m actually building a Twitter app using CouchDB and the _changes feed now – love to chat with you about it when you have a chance. Very cool stuff.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s