Note that this release of PostgreSQL includes many substantive performance enhancements and features to improve management plus it has 2 key features that kept people using MySQL (which is now controlled by Oracle), such as streaming replication.
From the PostgreSQL 9.0.0 release notes:
Built-in replication based on log shipping. This advance consists of two features: Streaming Replication, allowing continuous archive (WAL) files to be streamed over a network connection to a standby server, and Hot Standby, allowing continuous archive standby servers to execute read-only queries. The net effect is to support a single master with multiple read-only slave servers.
Now PostgreSQL 9 is even faster than MySQL (even PostgreSQL 8.0 was significantly faster than MySQL, especially when ACID compliance was required, also in situations involving non-trivial queries and/or heavy concurrent transactional loads), and so much easier to manage.
I am assuming that people have competent DBA's who know how to implement databases for both reliability and high performance (like making use of the relevant features of each database, and tuning the configurations appropriately) . Not to mention that PostgreSQL is more cost effective than using Oracle for intensive workloads that MySQL could not handle efficiently.
PostgreSQL is very standards compliant, much more so than MySQL, with extensions compatible with the Oracle DBMS.
I think a lot of corporates will test using PostgreSQL 9.0.0 with the idea of going into converting production systems from MySQL and Oracle using PostgreSQL 9.1; my reasoning is that: corporates are likely to find corner cases that may not reveal themselves in developer testing, nor in the kinds of workloads that mere mortals like myself come across. It is interesting that there was an alpha released of PostgreSQL version 9.1, before the final release of version 9.0!
The release has now been formally announced, the source can be downloaded, and binary packages are also available
Converting to PostgreSQL is non-trival – so why bother?
In general, converting a production Database to another RDMS (Relational Database Management System) is never trivial, and a decision to convert should not be taken lightly.
MySQL to PostgreSQL
Since MySQL is very non-standard, there would be a lot of work converting to PostgreSQL. However, the factors that may encourage people to convert from MySQL to PostgreSQL include:
- vastly improved performance
- greater reliability
- ease of management
- fear of Oracle finding ways of extracting large fees from MySQL support
I assume that Oracle has performance and reliability that is better than PostgreSQL, especially under intensive and very mission critical workloads (a friend of mine is an Oracle consultant). However, the impression I have, is that for a lot of enterprises, PostgreSQL is sufficiently adequate in these areas. I already know of conversions from Oracle to PostgreSQL version 8, so I expect more conversions now that PostgreSQL version 9 is available.
The reasons for converting from Oracle to PostgreSQL include:
- ease of management
- vastly cheaper licencing (the PostgreSQL licence costs nothing)
- don't need armies of expensive Oracle DBA's and consultants
- the source code is available, and you are legally allowed to modify it (important if you have non-standard mission critical requirements, and for tracking down elusive bugs)
Note that there are several organisations that provide extensive professional support for PostgreSQL. In NZ for example, there is Catalyst a company that has considerable expertise in using and supporting PostgreSQL.
I can also provide professional consultancy services relating to both PostgreSQL and MySQL.