The MySQL question.

Lamar Owen lowen at
Fri Sep 10 21:50:59 UTC 2004

On Friday 10 September 2004 07:23, Thomas Zehetbauer wrote:
> - MySQL has a fine grained access control

How fine do you need?  Checked out what you can do with pg_hba.conf lately? 
What sort of fine-grained control do you need?  You might be surprized at 
what you can do now.

> - PostgreSQL requires regular maintenance (VACUUM)

Try pg_autovacuum, included in the tarball.  All databases need regular 
maintenance if you care about your data.

> - PostgrSQL fail to use the index for a simple 'SELECT MAX(column)'

Really?  Got any EXPLAIN output to prove that?

> - PostgreSQL needs a complete dump restore for at least every minor
>   version upgrade

Wrong.  PostgreSQL needs a dump restore for a major version upgrade.  Major is 
like 7.2 to 7.3.  PostgreSQL's versioning is more like the Linux kernel than 
other packages in versioning.  Even then, the Slony replication engine allows 
you to replicate to a newer version and keep both up and running 

But how do you convert from MyISAM to InnoDB tables under MySQL?    What about 
major upgrades in Oracle?  The upgrade issue is a straw man, in reality.  
Yes, it is an issue.  It is not a deal-breaking issue.

None of these issues are deal-breakers. 

However, the issues MySQL has with data integrity are deal breakers for me.  
MySQL, as long as the developers don't deal with the serious data-corrupting 
issues (such as not throwing an error when numerics overflow), will never be 
enterprise-class.  It could be, but it's going to require an enterprise-ready 
attitude from its developers.  For low-requiremet stuff like websites, MySQL 
is fine.  But speed isn't a big difference any more (using InnoDB tables so 
that apples are compared to apples); features are nowhere near as complete as 
with PostgreSQL; type, operator, function, and language extensibility is not 
there (contrasted with the ability to embed functions in Java, R, Perl, 
Python, Tcl, and a dialect of something similar to Oracle's pl/SQL; the 
ability to create new language PL's; the ability to create whole new 
operators and data types; and the list goes on.  MySQL does not yet have this 
flexibility; see for instance the PostGIS project that does Geographic 
Information Systems work at the high end.

And PostgreSQL is not owned by or sponsored by any one company; nor is it an 
issue to embed PostgreSQL in a commercial product.

Yes, I am biased.  See my references to understand why.
Lamar Owen
Director of Information Technology
Pisgah Astronomical Research Institute
1 PARI Drive
Rosman, NC  28772

More information about the test mailing list