Out of all the open source database applications available, PostgreSQL is among the best DB storage engines with a single unified database server unlike MySQL which supports multiple storage engines for storing the data. PostgreSQL was specifically designed and developed with a focus on features and standards whereas MySQL was designed with a focus on speed. So, if you are looking for a large number of features and support for various standards, then PostgreSQL is the answer. PostgreSQL supports scalability on write intensive tasks. It also supports asynchronous commit, which is generally missing from other similar DB applications. It is fully ACID compliant.
Room for Improvement:
PostgreSQL does not multiple back-end storage engines unlike MySQL. It does not perform well when dealt with read-only DB queries. It is not very efficient in handling COUNT(*) queries. PostgreSQL does not support queries like 'INSERT IGNORE', which inserts if a row doesn't exist, and 'REPLACE' which replaces the current row, both of which are supported by MySQL. Another query missing from PostgreSQL is "INSERT ... ON DUPLICATE UPDATE ". PostgreSQL does not have an unsigned integer data type. PostgreSQL is limited to 32 columns per index.
PostgreSQL is one of the best open source DB storage application which supports only one backend storage engine. PostgreSQL is well known for the number of features it supports and the standards followed. PostgreSQL is pretty slow when dealing with queries like COUNT(*) and many of the queries like 'INSERT IGNORE', which inserts if a row doesn't exist, and 'REPLACE' which replaces the current row. It is also limited to 32 columns per index. If you are looking for a speed, then you have to look for other DB engines available e.g. MySQL.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Jul 20 2012