Hacker News new | ask | show | jobs
by simooooo 3148 days ago
They were surprised that maintaining a postgres fork was a pain in the ass?
2 comments

I think it was more that forks just get ignored. Customers want to run PostgreSQL, not something almost but not quite like PostgreSQL maintained by a company that may or may not employ PostgreSQL core contributors. And we certainly don't want to talk to your sales team about why it is a better fit for our use case.

The stuff Citus has been landing in PostgreSQL is fantastic.

> I think it was more that forks just get ignored

They call out a number of forks that do quite nicely. I work for Pivotal, which sponsors Greenplum. Companies pay handsomely for the capabilities it brings to the table.

But they are right that rebasing is a nightmare. My understanding (possibly wrong) is that the broad selection of APIs that make an extension-only approach did not appear in PostgreSQL until more recent versions -- anyone who forked earlier (such as Greenplum) have to first catch up and then migrate.

I do know that the Greenplum team have decided to catch up until they are working against mainline. It is, as you might imagine, a slow process: rebasing millions of lines of code a release at a time is not the easiest task on earth. But maintaining a fork will, in the long run, be harder.

I also don't get it.

Ever for smaller changes, it is very well known that you better contribute back to the Free Software project - because having your patch included and being maintained there is a lot less trouble than maintaining your fork and updating your patches every few months.

One exception might be one-off changes, but we all know that nothing is more definitive than the temporary.

The only real exception is when your patch is superseded by another patch (or a better solution). Then, you maintian your private patch only until next version is finalized.

It took a lot of work to not fork, and only recently became practical. Features like logical replication, DDL triggers, foreign data wrappers are all useful for this sort of thing and are all new. Companies like Citus and 2nd Quadrant first needed to get the infrastructure in place, so kudos to them and the PostgreSQL core team.