When comparing PostgreSQL vs CouchDB, the Slant community recommends PostgreSQL for most people. In the question“What are the best databases to use for Node.js applications?”PostgreSQL is ranked 1st while CouchDB is ranked 3rd. The most important reason people chose PostgreSQL is:

PostgreSQL is known to have a very holistic approach to robustness and data integrity which is reflected by it being fully [ACID](https://en.wikipedia.org/wiki/ACID) compliant.
PostgreSQL has always been strict about making sure data is valid before allowing it into the database, and there is no way for a client to bypass those checks.
Depending on your requirements, ACID compliance might be important.

Pros

Pro

Fully ACID compliant

PostgreSQL is known to have a very holistic approach to robustness and data integrity which is reflected by it being fully ACID compliant.

PostgreSQL has always been strict about making sure data is valid before allowing it into the database, and there is no way for a client to bypass those checks.

Depending on your requirements, ACID compliance might be important.

Pro

Strong community

PostgreSQL has a strong community backing it, with guides, tutorials and support for any kind of problem a developer may have.

Pro

High performance

PostgreSQL performance increases with each release, this is also proven by many benchmark tests.

Notable performance features include:

As PostgreSQL only supports one storage engine, it has been able to integrate and optimise it and with the rest of the database. This has resulted in multiple benefits such as the ability to allow different transaction types to co-exist efficiently without the need to select storage engine types once for each table ahead of time.

On the fly data compression resulting in less IO required for reading.

Asynchronous + synchronous Replication.

PostgreSQL supports a asynchronous API for use by client applications. It is reported to increase performance by up to 40% and is not supported by MySQL.

Designed to scale very well with large numbers of cores at high concurrency levels.

Pro

Support for JSON data type

JSON data can be stored as a column with optional indexes. In 9.4 (upcoming at the time of this writing), JSONB will be a binary version of JSON that will save space. It's like the best of the NO-SQL world without having to give up ACID and Relationships. This means that cascading deletes can be done in a single Transaction across multiple JSON documents.

Pro

Multiple node packages available

There are many packages (like Sequelize) that integrate deeply with the features Postgres offers.

Pro

Actively developed

Regular fixes and features are released

Pro

Support for geographic objects

PostgreSQL can be extended to have geographic object support through PostGIS and allows for location queries to be run through SQL.

Pro

Support Perl and Python for coding stored procedures

Postgres supports popular languages for coding stored procedures, such as Perl and Python. So, you can fairly easy transform just DB-server to reliable Service with complex business logic.

Pro

Works well between physical network partitions

CouchDB works very well even when the network is physically partitioned

Pro

Available

CouchDB is considered an available DMS according to the ACP theory of database management. As such it allows every client to always read and write

Pro

Useful for applications where versioning is important

CouchDB is mostly used in applications where a large amount of data needs to be accumulated and where data only changes rarely.

Pro

Changes API

You can use the RESTful API to listen for changes in your database, which is something most databases can't do. It makes it really easy for clients to keep their view of data up-to-date.

Pro

RESTful API

Since everything is stored as a JSON document and served over HTTP, it's perfectly suited for communicating with client-side javascript, with or without middleware.

Cons

Con

Not suited for small apps

Because of it's complexity and power, it may be an overkill to use PostgreSQL in small applications that will not make use of it's full power.

Con

Can only achieve consistency through replication and verification

Since CouchDB is considered an AP (Available, Partition-Tolerant database management system), it is not really consistent (not all clients can have the same view of the data consistently) and the only way to achieve some "eventual consistency" is through replication and verification of data.

Con

Uncertain future

After a very promising start, development began to drag after major supporters like Canonical, Selenium and CouchOne either shut down or moved to other tools. Development has begun to pick up again.