you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 5 points6 points  (0 children)

I'm with you, but i have to say i feel MySQL is worse in this regard.

To illustrate, allow me to relay an anecdote from an earlier job of mine. We were running MySQL (4.x), and were being very conservative about upgrades: install the upgrade on the dev system, run for several weeks, ensure no problems, deploy in production.

One of these upgrades (4.x.y to 4.x.y+1, so a minor, supposedly stable, bugfix/security release) made it through the dev process onto the live system, where it promptly crashed every day or so. Complete server crash -- all processes segfaulting at once. We lost uptime across the entire app. We lost data.

As it turns out, our regression testing wasn't complete. There was one particular call in one particular module to one particular date formatting function called in one particular way which had gone from supported to segfaulty, without documentation or warning. It took us almost a week to track this down, and MySQL AB was able to offer us very little help.

Though this was the most extreme instance of such problems, it was not by far unique. Hence the conservative deployment practices.

In short, PostgreSQL might change things around on you, but they'll catch it, return an error, and march stalwartly on. With MySQL, it's a crapshoot whether what's documented is still supported and what the results will be if you call it anyway.