←back to thread

264 points davidgomes | 4 comments | | HN request time: 0s | source
Show context
paulryanrogers ◴[] No.41875055[source]
Upgrades are hard. There was no replication in the before times. The original block-level replication didn't work among different major versions. Slony was a painful workaround based on triggers that amplified writes.

Newer PostgreSQL versions are better. Yet still not quite as robust or easy as MySQL.

At a certain scale even MySQL upgrades can be painful. At least when you cannot spare more than a few minutes of downtime.

replies(7): >>41875126 #>>41876174 #>>41876232 #>>41876375 #>>41877029 #>>41877268 #>>41877959 #
api ◴[] No.41875126[source]
I've always wondered why Postgres is so insanely popular. I mean it has some nice things like very powerful support for a very comprehensive subset of SQL functionality, but most apps don't need all that.

It really feels like early 1990s vintage Unix software. It's clunky and arcane and it's hard to feel confident doing anything complex with it.

replies(9): >>41875168 #>>41875240 #>>41875306 #>>41875587 #>>41876346 #>>41876770 #>>41877119 #>>41877951 #>>41878394 #
stickfigure ◴[] No.41875168[source]
What's the alternative? MySQL? No transactional DDL, immediate fail.
replies(3): >>41875276 #>>41875729 #>>41876552 #
cosmotic ◴[] No.41875729[source]
It's not just DDL that isn't transactional, there's a whole bunch of other things that aren't. And they break the transactionality silently. It's like an obstical course where bumping into something might be fatal.
replies(1): >>41875779 #
1. evanelias ◴[] No.41875779[source]
What specific non-DDL things are you referring to here?

Aside from DDL, the only other major ones are manipulating users/grants, manipulating replication, a small number of other administrative commands, and LOCK TABLES.

This is all documented very clearly on https://dev.mysql.com/doc/refman/8.4/en/implicit-commit.html. Hardly an "obstical course".

replies(1): >>41880682 #
2. stickfigure ◴[] No.41880682[source]
"Aside from missing his head, the patient appears to be in fine shape."
replies(1): >>41880824 #
3. evanelias ◴[] No.41880824[source]
That hardly seems equivalent. Why do you need to e.g. reconfigure replication inside of a transaction in the first place?

The lack of transactional DDL is a totally valid complaint, but the non-DDL stuff is just a total head-scratcher to me. Aside from DDL, implicit commits have literally never impacted me in my 21 years of using MySQL.

replies(1): >>41885276 #
4. stickfigure ◴[] No.41885276{3}[source]
Sorry - I was trying to make light of the discussion. DDL is so important that it's silly to talk about the other stuff.