Centuries ago, Nostradamus foresaw when andrew@libertyrms.info (Andrew Sullivan) would write:
> On Sat, Oct 11, 2003 at 05:48:23PM -0700, Dennis Gearon wrote:
>> projects.) I want to use as my main argument, the fact (at this time,
>> only from my previous usage), that MySQL really doesn't have foreign
>> keys or record locking, and Postgres does.
>
> Define "really". Certainly, for some cases, it now does.
>
>> correct with today's MySQL vs. PostgreSQL, right? I *really* want to use
>> PostgreSQL for this project and not MySQL as I want to avoid growing
>> pains trying to get MySQL to do the job of a bigger DB down the road.
>
> Why don't you make the "growing pains" argument instead? What are
> those arguments, anyway? ( I think I know, but maybe not.)
I would think that the 'non-validation of domain information' part
would be an even better argument.
It's easy to explain, which is vital.
You can give examples: "If we try to insert such-and-such data, which
happens to be wrong, MySQL will silently insert _different_ wrong
information, and not complain at all."
In contrast, they can put all sorts of extra validation tests on
domains in PostgreSQL, and it can quietly _prevent_ application bugs
from corrupting data. That doesn't mean that _every_ sort of
corruption is prevented, but there can be some meaningful ones.
For instance, if a particular column is required to be in lower case,
then a domain constraint to that effect means that if someone makes an
application mistake, the database will catch it. Sort of like wearing
a belt _and_ suspenders.
--
(format nil "~S@~S" "aa454" "freenet.carleton.ca")
http://www3.sympatico.ca/cbbrowne/advocacy.html
If at first you don't succeed, try duct tape. If duct tape doesn't
work, give up.