Live data from Hacker News

Why does everyone run ancient Postgres versions?

neon.tech

31–40 of 452 posts

Re: Why does everyone run ancient Postgres versions?

#31
post #3

I've always found it fascinating that there is a vocal contingent at HN that seems to legitimately hate advertising. But then an article like this turns up that is obvious advertising and is also a good article - we get a nice summary of what the major performance features over different postgres versions are, and some interesting case studies (I'd never even heard of the NOT VALID option although apparently it is no…

Yes but Neon databases is a funder of Postgres development. So I'm interested in hearing what they have to say. If they're advertising then I think helping open source is the right way to go about it. To me it sounds like they just want to make sure people benefit from all the money they're spending.

Re: Why does everyone run ancient Postgres versions?

#32
post #24

Earlier quoted context omitted.

> I've always wondered why Postgres is so insanely popular. In no particular order, my preference for postgres is driven by: * Date / time functions that don't suck * UTF-8 is really UTF-8 * 99% of a backup can be done live with nothing more than rsyncing the data directory and the WAL files * Really comprehensive documentation * LTREE and fuzzy string match extensions * Familiarity from using it for years MySQL/Mari…

UTF-8 is what made me switch. It’s insane MySQL has something called UTF-8 that isn't really UTF-8, but do have a type UTF8MB4 that actually is correct. This means if you use UFT-8 in MySQL, you can’t use emoji for example.

And the fact that adding real utf-8 support limited (limits?) the length of strings that can be indexed

Re: Why does everyone run ancient Postgres versions?

#33
post #21

Earlier quoted context omitted.

What's the alternative? MySQL? No transactional DDL, immediate fail.

I worked for a company that migrated from mysql to postgres, but then got big enough they wanted to hire fulltime database experts and ended up migrating back to mysql because it was easier to find talent

Dunno if that says much about Postgres, but it says a lot about the company

Re: Why does everyone run ancient Postgres versions?

#34
post #8

Because upgrading is a lot of work, and is higher risk than upgrading other software.

Seems like a massive design fail if they can't maintain backwards compatability and provide a safe, low friction upgrade process.

I think it's more about avoiding downtime (I just upgraded a pg with 1TB of data from v11 to v16 and I didn't notice any breaking changes). In an ideal world, every client of the DB should be able to handle the case where the DB is down and patiently wait for the DB to come back to keep doing its job. But from my experience, it's rarely the case, there is always at least 1 micro service running somewhere in the cloud that everybody forgot about that will just crash if the DB is down, which could mean losing data.

Re: Why does everyone run ancient Postgres versions?

#35

My upgrade policy for everything: Significant security vulnerability? Upgrade Feature you need? Upgrade All other reasons: Don't upgrade. Upgrading takes effort and it is risky. The benefits must be worth the risks.

Here’s another reason to upgrade: your version is end of life and your cloud provider forced it.

Thank you Amazon!

Re: Why does everyone run ancient Postgres versions?

#37
post #29
post #25

Databases tend to be "stickier" than other parts of any large software system. Largely because database migrations are costly. You can't just tear down an old database and rebuild a new one, you have to figure out how to move all that data across too. The consequence is that things in database-land tends to move slower than other types of software. This I think is the major reason why we still use SQL.

Have postgres updates actually been requiring users do migrations? Or is this just a fear that something will go wrong?

Well if it's self-hosted you have to do it yourself. You can either backup your databases from the old version and restore it to the new version once installed, or you can use pg_upgrade to upgrade/copy a old version data directory to the new version.

I don't think this is done automatically when you simply install a new postgres version, but I'm not certain of that.

Re: Why does everyone run ancient Postgres versions?

#38
post #21

Earlier quoted context omitted.

What's the alternative? MySQL? No transactional DDL, immediate fail.

I worked for a company that migrated from mysql to postgres, but then got big enough they wanted to hire fulltime database experts and ended up migrating back to mysql because it was easier to find talent

[deleted]

Re: Why does everyone run ancient Postgres versions?

#39

Earlier quoted context omitted.

> 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. How software "feels" is subjective. Can you be more specific?

The command line experience is old school style i.e. to show tables. \c database \dt Versus: use database show tables

I assume this is really what it comes down to. If psql added those verbose-but-descriptive commands a whole bunch of people comfortable with mysql would be a lot happier using postgres.

Re: Why does everyone run ancient Postgres versions?

#40
post #9

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 dow…

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.

Because it's not tainted and cursed by Oracle, like MySQL (and Oracle).
Post reply on HN