We are considering using PostgreSQL 8.4 on RHEL for some upcoming projects.
We've been heavy users of MySQL since 3.23 (now on 5.1). The database servers are behind a load balanced cluster of web/app servers.
Our usage is mostly business related web apps (user accounts with lots of emails / contacts / stats / projects / plans / tasks / permissions / relations / whatever per user).
Some of our MySQL databases range up into 200+ tables, 150,000,000+ records and growing.
For those of you who have experience with PostgreSQL (and ideally MySQL):
- What are the main considerations we should be taking into account?
- Are there any major pitfalls that you have run across?
- What good reasons are there to move forward?
- What good reasons are there to stay away?
Here are some of the reasons that we are interested in PostgreSQL:
- Broader support for transactions, triggers, stored procedures, constraints, sql, subqueries, datatypes, and more...
- Ability to use Python as the stored procedure language
- Multiple schema's per database
- DDL inside transactions
- Hot backup
- More open licencing
Here are some of the reasons we are interested in leaving MySQL:
- Botched 5.1 release (see here)
- ~ 14 releases into 5.1 GA, and still fixing bugs similar to "Multiple-table updates for InnoDB tables could produce unexpected results. (Bug#43580)"
- Major backward compatibility breakage in 5.1.20 series, and fixed in 5.1.30 series.
- Bought by Sun
- Bought by Oracle
- Gap between open source and commercial version growing wider
- Multiple forks (including Drizzle), while really cool, indicate unrest with the core product