PostgreSQL is ahead of MySQL in every area except performance and popularity. You should look at PostgreSQL as soon as your database project moves out of experimental into commercial.
Think of the formula
E = MC2. Think of
E as Expense and MySQL is easy to use. Think of
M as Modification of data. MySQL is very low cost when you read data but is not much different when you modify data. Think of
C as Consistency. MySQL can store consistent data when you follow the right rules and that consistency rapidly becomes more complex as the data becomes more complex.
When you modify one item of data, the cost is very little in MySQL, PostgreSQL, Oracle, all the major databases. Modifying a lot of separate unrelated data items is slower but remains simple. Your expense in time, effort, and computing resources, increases rapidly when you modify several related data items. That is where the
2 comes in. PostgreSQL has a long history of performing better on multiple related updates.
Consistency consideration occurs when your system fails during an update. PostgreSQL has a history of beating MySQL in the area of consistency. When you multiply consistency by the modification of many related data items, you produce a really expensive transaction. PostgreSQL has features to make those transactions easier to create and easier to manage. People talk about the expense of MySQL starting low then rising rapidly while PostgreSQL starts a little higher then rises slowly.slowly. A complex financial system will end up cheaper to complete and manage in PostgreSQL than in MySQL.
SQLite, from www.sqlite.org, provides some of the consistency features of PostgreSQL in a very small package aimed at small applications and Web sites. If you are facing complex transactions against a small database, SQLite could be a good alternative.
Content management systems
Content management systems used to design for MySQL because MySQL is included free in almost every Web site hosting service. Drupal, the world's leading free open content management system designed their new version to work equally with PostgreSQL and MySQL so that you are free to choose. Many other applications are headed that way. PostgreSQL compatibility should be high on your requirements list even if you are not going to use PostgreSQL in the short term.
Practice on MySQL and SQLite. Build on PostgreSQL.