I've been using MySQL since early 2002 and Sun's purchase of MySQL has me quite concerned (unnecessarily, I hope). I've been hedging my bets in case Sun decides to radically change MySQL's Community Edition (the free version) availability or make it too experimental to use in production or near-production environments (forcing MySQL users to the for-fee Enterprise Edition). One hedge is getting familiar with PostgreSQL
. I've invested a bit of time building it from source code on a test Linux box and then testing upgrading a datbase from version 8.2 to 8.3. That was quite painful compared to MySQL, btw. I was surprised I had to perform a full database dump from 8.2 and then import everything back in to the 8.3 installation.
EnterpriseDB has been selling a repackaged version of PostgreSQL since 2004. They relaunced the product this week and renamed it Postgres Plus and Postgres Plus Advanced Server
. The Postgres Plus edition seems similar to the MySQL Community Edition in that both are available with easy to use binary installers. Postgres Plus Advanced Server is priced at US$5,995 per socket. It provides additional features such as the ability to run applications designed to work with Oracle, database migration tools to move from Oracle and other commercial databases, and advanced management and monitoring tools. The Advanced Server developer edition is free. This is a good idea and one that MySQL should emulate with its Enterprise Edition.
I haven't looked a the Windows or Mac OS X versions of Postgres Plus (the free version). But, I did download the Linux distribution and found that the gzipped download contained a single bin file. This really appealed to me since PostgreSQL's binary versions consisted of what seemed like an endless list of RPMs to choose from and download. In fact, I decided to install from source code on Linux since it seemed easier than figuring out which RPM files I needed.
Old PostgreSQL hands probably don't have any great need to take a look at EnterpriseDB's offerings. However, newbies like me looking for a quick, painless, and correct installation of multiple PostgreSQL components across multiple OS platforms to create a stable platform from which to learn will probably benefit from EnterpriseDB's Postgres Plus offerings.
FYI: Those of you considering running PostgreSQL or Postgres Plus on Microsoft Windows might want to take a look at these two PDF documents available from Microsoft's Port 25 site...
PostgreSQL on Windows: A Primer
Connecting Office Applications to MySQL and PostgreSQL via ODBC
I gather by your comments that you have yet to read how PostgreSQL version numbers work. I'm pasting the information below.
"PostgreSQL major releases include new features and occur roughly once every year. A major release is numbered by increasing either the first or second part of the version number, e.g. 8.2 to 8.3."
"Major releases usually change the internal format of system tables and data files. These changes are often complex, so we don't maintain backward compatibility for data files. A dump/reload of the database is required for major upgrades."
"Minor releases are numbered by increasing the third part of the version number, e.g. 8.1.5 to 8.1.6. The PostgreSQL team only adds bug fixes to minor releases. All users should upgrade to the most recent minor release as soon as possible. While upgrades always have some risk, PostgreSQL minor releases fix only frequently-encountered, security, and data corruption bugs to reduce the risk of upgrading. The community considers not upgrading to be riskier than upgrading."
"Upgrading to a minor release does not require a dump and restore; merely stop the database server, install the updated binaries, and restart the server. For some releases, manual changes may be required to complete the upgrade, so always read the release notes before upgrading."
If you were upgrading from 8.2.x to 8.2.y or 8.3.x to 8.3.y, you would not have needed to do a dump/restore. Upgrading from 8.x to 8.y or X to Y are both major upgrades, and which do require the (sometimes painful) dump/restore process.
That said, I would also like to point out that PostgreSQL continues to support older versions with bug and security fixes over a fairly lengthy period. At this time, on PostgreSQL, the "Latest Releases" tab includes 7.4.19, 8.0.15, 8.1.11, 8.2.7, and 8.3.1. To put that in perspective, PostgreSQL 7.4 was released in November 2003.
I hope this helps as you explore PostgreSQL.
While it is true that MySQL has slowly been adding several of the more advanced DB features PostgreSQL has had for years, and despite my use of MySQL daily at the office, I still prefer PostgreSQL for my projects. One area I wish PostgreSQL had better "out of the box" functionality is replication. PostgreSQL has several replication options, so you can choose the best one for your needs, but they are not as simple/fast to setup as mysql's master-slave replication (imo).
Take a look at Ingres Database. Ingres has been around for quite some time and is an enterprise open source solution that is gaining quite a bit of traction. With enterprise customers in the financial, telecom, transportation, manufacturing areas just to name a few, one can see how you can use Ingres Database as your development platform that easily converts to your enterprise platform. Better yet, replication, backup, clustering tools are all included with the base product - no addons by third parties, etc. Check it out and give us your feedback. http://ingres.com/downloads.php
We have enterprise versions that you can purchase through a subscription model for support or use the community version for free.