An enterprise class database, PostgreSQL boasts sophisticated features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions (savepoints), online/hot backups, a sophisticated query planner/optimizer, and write ahead logging for fault tolerance. It supports international character sets, multibyte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting. It is highly scalable both in the sheer quantity of data it can manage and in the number of concurrent users it can accommodate. There are active PostgreSQL systems in production environments that manage in excess of 4 terabytes of data.
- Fully ACID compliant.
- Full support for foreign keys, joins, views, triggers, and stored procedures.
- Includes most SQL:2008 data types, including INTEGER, NUMBERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, AND TIMESTAMP.
- Supports storage of binary large objects, including pictures, sounds, or video.
- Has native interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, and more.
- Multi-Version Concurrency Control.
- Point in time recovery.
- Asynchronous replication.
- Write ahead logging for fault tolerance.
- International character sets, multibyte character encodings, Unicode, and is locale-aware for sorting, case-sensitivity, and formatting.
I have been using PostgreSQL for may years now, and it's truly the best database you can get for free. PostreSQL is a true transactional RDBMS, and it makes the difference. PostreSQL scales very well under heavy loads. The replication synchronization is automated with PostgreSQL, whereas with MySQL if you lose sync you have to resync manually, and it's not a piece a cake. According to my benchmarks PostgreSQL is globally faster than others in production situations. I have had many problems with MySQL (for example you have to do manually "mysqlcheck" regularly otherwise it seems things are going wrong for some tables, and triggers), but none with PostgreSQL. Overall, MySQL is much more advertised, but does not even get close. PostgreSQL is just better. I wish more products use PostgreSQL instead of the messy MySQL, as a user I appreciate more robustness in the database level.
Very easy to use postgresql.mirror