[Zope] PostgreSQL on Win2K

Joel Burton jburton@scw.org
Wed, 14 Mar 2001 08:47:03 -0500 (EST)


On Wed, 14 Mar 2001, Paul Zwarts wrote:

> Can anyone offer advice between using Postgres over Cygwin on Nt4/5 vs. MySql
> as itself? It sounds a bit dodgy having to use a shell to run it... Sounds
> like using Photoshop through VirtualPC on a Mac....

You're not running PostgreSQL through a *Shell*. Cygwin is really a
library of UNIX & POSIX calls to Windowns equivalent. All the stuff that
comes w/Cygwin (compilers, cmd-line utils, and yes, a shell or two) are
just (generally unmodified or lightly-patched) standard Unix programs that
have been compiled against this translation library.

It's not a dodgy scheme per se--most of the time people port a program to
another OS, they're wrapping system calls to a translation library. (And
if they develop something as 'cross-platform', they're usually just doing
it from the start). When one does this w/cygwin, it's just more apparent,
b/c teh translation library is an outside program.

All that being said, there are significant differences between MySQL and
PostgreSQL. Without trying to fan the flames of the war:

MySQL

* is easier to install
* may be faster for SELECTs from your database
* is smaller
* does not include many standard DB features in the standard MySQL
  setup (such as subqueries, transactions, procedural languages,
  views, etc.); some of these, like transactions, may be available
  when using alternate backends to the MySQL parser, however, this
  seems quite new and untested.
* runs on Windows and almost-everything Unix

PostgreSQL

* has signficantly more serious DB features (transactions, subqueries,
   views, procedural languages user-definable data types, etc.)
* is a bit harder to install
* may be faster for INSERTs/DELETEs for many concurrent users
* runs on almost everything Unix, and with, cygwin, Windows NT/2000

The additional features of PostgreSQL, IMHO, are important and helpful for
me as a developer--especially procedural languages (Perl, Tcl, and
PL/PGSQL--an Oracle-like PL--are built into the database.) If what you
want to do is just stash stuff away and get it back through relatively
simple queries, w/o much worry about data integrity checking, etc., MySQL
may be easier to get there.

Not many people are using PostgreSQL under Windows, however. On Unix, the
program has proven very stable; under Windows, I think there aren't enough
users for me to feel the same confidence.

If you're stuck w/Windows as your database server platform, another fair
option is Interbase, another GPLd database. It has the advantages of
excellent documentation (MySQL is clear but not enough detail, PostgreSQL
can be fuzzy at points but there's plenty of it), and very nice GUI
administration tools. It runs out of the box on Windows NT, and offers
some of the features that MySQL doesn't (subqueries, transactions, etc.)


Followups should probably go to the PostgreSQL or MySQL mailing lists.


HTH,
-- 
Joel Burton   <jburton@scw.org>
Director of Information Systems, Support Center of Washington