Multiversion Concurrency Control (MVCC) is used to maintain data consistency during concurrent transactions when traditional databases use locking. MVCC means that each transaction sees a snapshot (a database version) of the data at the time the transaction started, despite the fact the database might already have been changed. This protects the transaction from inconsistent data changes that might have been caused by (other) concurrent transaction, providing transaction isolation. The main benefit of using MVCC over locking is that the MVCC read lock does not interfere with the write lock and therefore reading never interferes with editing and vice versa. Concurrent recording operations "interrupt" each other only while working with the same record.
Write-Ahead Logging (WAL) is a standard method for ensuring data integrity, preventing possible crashes. WAL's central concept is that changes to data files must be written only after those changes have been logged, that is, after log records describing the changes have been flushed to permanent storage. If we follow this procedure, we don’t need to flush data pages to disk on every transaction commit, because we know that in the event of a crash we will be able to recover the database using the log records.
With Point in Time Recovery (PITR), the database can be restored (using WAL) to its state at any point after a crash.
Replication also improves the reliability of PostgreSQL. There are several replication systems, for example, Slony, which is a free and most used solution that supports master-slave replication. Slony-II is expected to include a multi-master mode.
Data integrity is at the heart of PostgreSQL. In addition to MVCC, PostgreSQL supports referential integrity (using foreign key constraints).
The PostgreSQL development model is entirely transparent to anyone: all plans, problems, and priorities are openly discussed. Users and developers communicate via mailing lists. All patches and suggestions are thoroughly tested: a large number of beta testers helps fix minor bugs.
Because of the liberal license, PostgreSQL can be used, modified, and distributed by anyone free of charge for any purpose, be it private, commercial, or academic.