p.enthalabs

Pgbackrest is no longer being maintained

github.com · Read Story HN original

Comments

Sorry to hear this. Well done for maintaining a successful project for so long.
Really sad to see this. I had only recently learnt about this project, and was really impressed by it. I was planning to set it up this weekend (via autobase). I've also been under the impression that it's likely to be what powers the backups in RDS, Cloud SQL, etc., but I may have misunderstood.
Waiting for all the C-level execs saying that "anyway this is not needed, we're going to vibe-code a solution to our production database backups" lol
The backups will then be hyper-optimized from three hours down to 5 minutes using devnull compression technologies. Its super effective!
Why even waste all this time and money on backups in the first place? Just don't make mistakes.
The A.I will probably steal the code and make it an unmaintainable mess that deletes backups when someone tries to restore
Ah, sad to read this. Does anyone know of good alternatives?
Postgres has built-in backups starting with version 18.
From what I can find Postgres 17 [1] introduced incremental backups to pg_basebackup, refined in 18, but nowhere near the full featureset of pgBackRest. Is that what you meant? Having builtin incremental replication to a S3-compatible storage would be great.

[1]: https://www.postgresql.org/docs/release/17.0/#:~:text=pg%5Fb...

doesn't it still work?
Yes! But I'm assuming it will prevent me from upgrading to Postgres 19 in the future.
I'm not familiar with the internals, but is backing up that coupled to Postgres version? That feels so brittle to me.
You can of course take a SQL dump that is version-independent, but if you're serious about creating backups, you want to take backups of the actual on-disk format of the WAL, because that's more efficient and also the only practical way to get point-in-time recovery. (For the efficiency, you could alternatively also take ZFS snapshots, which will work independently of the Postgres version, but those also don't give you PITR.) The WAL format is a Postgres implementation detail and therefore tools wanting to read and write it need maintenance whenever the format changes (which can happen on major version releases).
Why not try to find a successor instead of archiving the repo and forbidding the use of the name? I'm sure with a 3.8k stars repo you'll find competent people willing to continue the work.
It is reasonable to ask for a follow-up project/fork to take a different name. Naming your project, e. G., pgbackrest-ng, does not sound too onerous of a requirement and clearly communicates to users that maintainers have changed (see also paperless ng/ngx as good examples of such a change).

Finding a successor is also not easy nor cheap (in regards to time).

You'll also find plenty of potential malware injectors too, and who would want the responsibility of trying to vet a successor and have to work out the difference?
There's no way to know if a new maintainer will live up to whatever standards they've kept to date. Archiving should be the default decision, unless there's formal and elaborate handover.
Because you will attract people who will want to take advantage of the trust these 3.8k stars signal to some people, for example, by means of supply chain attacks.
The Apache Foundation used to help with this sort of governance problem didn't it? Thugh maybe pgbackrest isn't quite big and official enough to be the kind of software which Apache takes on, and one certainly hears (increasing?) grumbles about Apache's stewardship.
Because that rug pulls your users.

3.8k stars and the name is years of built up trust with you, not with the person you gave it to.

Those people can just as easily fork it and make a new name then. Otherwise you end up with situations where it's actually an entirely new thing under new developers under the same name. Even riskier in the age of the "AI clean rewrite"
Sometimes you want to hang things to your wall, and be done with it.

I'd personally do the same. I wouldn't want to be bothered by the future maintainers' choices and get feedback/flak for it. It's a well-known and well-respected way to cycle the name with a "-ng" or "-nx" prefix to signal that this is the newer project with a different set of maintainers.

Being MIT, while is not my favorite license, doesn't give free license to grab and run with things.

Honestly, in my eyes, 3.8K or 38K stars mean nothing, because Open Source is not about you [0], to begin with.

[0]: https://gist.github.com/richhickey/1563cddea1002958f96e7ba95...

A maintainer that is mainly motivated by the 3.8k stars aspect is probably not the person you want. Working on critical OSS software is fun until it's not, especially when you are not paid for that work.
They are not really forbidding the use of the name (unless they have registered a trademark), they probably simply want to avoid confusion.
Why is it the responsibility of the person working for free?

Why is it never the responsibility of the people using it?

If anyone cares enough they will. People didn’t care enough to pay, so maybe no one cares enough to fork and be the new unpaid custodian

> I'm sure with a 3.8k stars repo you'll find competent people willing to continue the work.

Oh yeah, I'm sure you will find lots of competent people. Like Jia Tan, for example. I've heard he is very competent.

> Since Crunchy Data was sold, I have been maintaining pgBackRest and looking for a position that would allow me to continue the work, but so far I have not been successful. Likewise, my efforts to secure sponsorship have also fallen far short of what I need to make the project viable.

So this was the problem, I thought Snowflake would pick up the sponsorship of this project but since it is a competing database it doesn't really make much sense.

I really wish many critical OSS projects get the sponsorship they need to continue.

Otherwise the software industry is in real trouble.

Forking it just passes the buck onto another maintainer with the same problem, this time without the original creator maintaining it.

Very simple. Name it to pgbackrest-AI and add the line:

"AI driven backups with smartest world class models optimizing every byte stored via deep AI analysis."

With that added, a million dollars is just chimp change. YC alone would be adding them to all the seasons multiple times over summer, winter and monsoon etc.

The responses in there are dumb and childish.

I doubt that they have sponsored an OSS project or made it sustainable.

Postgres doesn't compete with Snowflake. Snowflake recently announced a Postgres DBaaS offering that integrates with Snowflake (actually has competitive pricing with AWS RDS Postgres)

They're two non competing verticals. It's a shame Snowflake decided to shrink Crunchy Data's community presence.

I was about to set up Postgres backups with pgbackrest very soon. It looked like the most mature solution for my use case. What I was aiming for was continuous backups to an object storage provider, without a central DB server but the backup tool directly installed on the Postgres server.

I'll have to look at the alternatives again, I think that was mostly WAL-G and Barman. It looks like Barman doesn't support direct backup to object storage, unfortunately. And I find the WAL-G documentation very confusing. What I'm looking for is WAL streaming and object storage support, to minimize the amount of data that can be lost and so I don't have to run my own backup server.

This is exactly what I was setting it up to do this morning. My research came down to this and WAL-G for the same reasons, and I picked pgBackRest over WAL-G because the documentation was clearer.
So sad. We have been using this amazing project extensively
Same, was really easy to set up.
This project looks nice, albeit a bit young for a backup tool.

Did you encounter any issues or limitations?

I'm also using this project. Easy to configure and operate.

I am feeling a slight unease using such a recent project for things as important as the database. But the polished interface combined with the easy docker deployment made me use it anyway. Restores need some permission tuning on PostgreSQL but otherwise happy.

They are very proud of their github star acquisition curve [0], the "blessing" by Anthropic [1]

But I have yet to verify the Anthropic claim.

[0] https://www.reddit.com/r/selfhosted/comments/1q94uu9/selfhos... [1] https://www.reddit.com/r/ClaudeAI/comments/1rklvr7/anthropic...

>Wow, this is pretty surprising, I was under the impression that this is the leading PG backup/recovery tool.

https://xkcd.com/2347/

We've been happy with WAL-E and now WAL-G (successor). The streaming PITR nature of these won over pgbackrest when we did the analysis ~9 years ago.
Are you using WAL archiving? As far as I understand, pgbackrest and Barman can also use direct streaming from the DB (same mechanism as replication), I didn't find any mention of this in the WAL-G documentation.

With WAL archiving you need to wait for a WAL segment to finish before it's backed up. With streaming backups the deadtime is minimized. At least that's as far as I understand this, I didn't get to try this out in practice yet.

WAL-G's PITR backups are insurance against data loss through erroneous data manipulations (eg: accidental DELETE/DROP/UPDATE). WAL-G's streaming approach (using pg_receivewal or similar) sends WAL records to backup storage continuously as they're generated, rather than waiting for a full segment to complete.

On top of that, for availability (and minimizing deadtime), we have 2 replicas using streaming replication. If the lead PG crashes, one of the replicas is promoted to lead (and starts accepting writes), and we "only" lose the writes that haven't been sent over the streaming replication.

You can fully eliminate that window of data loss with synchronous replication (vs the default asynchronous replication - which we use). The write slowdown (replica network round trip + 2nd write at replica) isn't worth it for us

Are you using `walg wal-receive` for streaming? As far as I can tell, that command will wait for the full wal segment before it pushes anything to storage. I don't see any way to stream wal records continuously in wal-g.
I dunno how they compare, but we have been using barman for a long time very happily. We test our backups every night, by restoring from barman into a _nightly DB. which we then give out to users as a training/testing spot, so that we know when it breaks. It hasn't broken in many years now. <3
I'm one of many wal-g maintainers, it's comparable. I've been inactive for past few years, but back in managed postgres game. Hoping to get support for pg17 incremental backups alongside wal-g's existing delta backups where wal-g compares blocks itself. Be sure to use daemon mode

Sad to see competitor go, I think there's lots of room for improvement here, & C over Golang is particularly nice when postgres wants to run on system without overcommit

So sad to see this happening..

I had just last year prepared a detailed guide for reliable postgre backups to local volume as well as cloud storage, using pgBackRest, for my own projects.. pgBackRest have worked so well for me

https://github.com/freakynit/postgre-backup-and-restore-guid...

Thanks to the author for all the time and effort he put into this project..

I really wish projects like this didn't fall through the cracks and continued to be funded. The struggles of OSS are too real.
True.. I truly wish wish we had better open-source license and more open-source projects adopt it..

Tiered pricing license... tiering based upon annual company revenues... should start super low for small companies (free for individuals), and jump to thousands of dollars per year for 10+ milion revenue companies.

I understand that this might not fully be in the spirit of open-source, but, what's happening currently is way worse.. where giant companies rip off the hardwork of open-source software maintainers without compsensating them adequately.

Sigh. Bane of my existence is any service which does this.

My org theoretically makes hundreds of millions, unfortunately none of that money is ours. So I get forced into a procurement process for anything that costs more than (ridiculously small limit), and get stuck using the worst in class because it's cheaper.

May be inconvenient to you, but the point of licenses like that is that inconvenience to companies that aren't willing to pay for the work.
I think the point was that this is a company that is willing to pay for the work, but corporate procurement doesn't work like that.

If you don't have a discretionary spending limit that will accommodate it, then trying to get OSS through procurement is difficult. Who is providing the support contract? What level of indemnity insurance is the supplier covered by? Can you get a spread of three quotes from competitive providers?

Not to mention that if the supplier isn't VAT/GST registered, the accounts department can be operationally incapable of accepting an invoice or issuing payment.

Not malicious, this is best practice for a large organisation that needs to prove that it is not doing fraud. But it does present a huge obstacle to buying from small organisations, startups, and one-person OSS maintainers.

Agree. Does solving this itself a good product idea? A company specializing in making these deals happen? Taking on the legal and corporate aspects? Kinda like freelancer platforms work.., but, more corporate forcused?
It would be great if github or someone did something to support licenses like this. So procurement was more like a cloud spend. Companies could put caps on the monthly spend for the projects they use. Organizations should be used to paying for products from individuals just like how they do from megacorporations.
Would a third party 'productising' FOSS be acceptable to the FOSS community?

for example, adding support, bug fixes, corp-friendly licencing and pricing models, private code/package repos, code/package signing, etc. Providing biz ppl to be available for meetings, legal protection, PII, etc.

To foster goodwill, they could even send some of the profit back to the original maintainer, ala pikapods: https://news.ycombinator.com/item?id=31312682

I'm not suggesting productizing but if someone skimmed 0.5-5% off of some of my packages licenses and gave me the rest without me having to do anything I would be happy with that. I think the important thing would be, customers would likely expect less support so licenses should be cheaper.

People who don't want tiered licenses could definitely just mit it and walk away of course.

I do like the idea of paying back the original maintainers otherwise people could sandbag projects to fork them later.

> skimmed 0.5-5% off of some of my packages licenses

What do you mean by this? A FOSS product that has a paid packaged version?

So... Spotify but for OSS?

I'm not sure this worked out as well as we thought it might do for the musicians.

Sounds like whoever is getting that money is hamstringing your organization on purpose so they can keep more of your money.
Is there a measurement that would work better for your organizations setup?
If none of the money is yours it means it is not your profit. A license expressed in terms of profit instead of revenue would be suitable for you.

I thought a while back there were some products that had dual licenses, a fairly open license for private use, use in small companies, but requiring purchase and/or contribution back when used in something like a cloud providers SaaS.

I like open source, but I also can understand the nagging feeling when your (and your contributors work) is used for pure corporate greed.

> If none of the money is yours it means it is not your profit. A license expressed in terms of profit instead of revenue would be suitable for you.

I like this idea, but the devil is in the details. "profit" is less defined than revenue. You have to specify your accounting principles. What counts as an expense that deducts from revenue to help define profit?

It's not impossible, but there's a lot more variance depending on locality, business structure, etc. than there is with just "revenue".

Of course, I suspect it all comes down to whether the entity offering the license is large enough and well-enough legally armed to force an audit of the organization taking the license. If they're not able to do that, it's all self-reporting anyway.

And even if everything is "legit", plenty of corporations make close to no profit because they're "licensing" or paying whatever other fees to a different company that magically happen to track whatever cash they have on hand at the end of the year.

See all these multinationals paying close to no taxes in the countries where they operate.

So. If we fix that loophole we both get proper tax revenue and we get to fund OSS better. I say win-win. Although it will be hard to implement in practice.
> If none of the money is yours it means it is not your profit

Maybe they mean their org makes a lot of money the money for their parent corp, but little of that ( goes into / is reflected in ) their own orgs budget?

> Tiered pricing license... tiering based upon annual company revenues... should start super low for small companies (free for individuals), and jump to thousands of dollars per year for 10+ milion revenue companies.

Too complicated. Make it GPL (not MIT) and offer dual licensing.

Those corps that need it but are GPL-phobic can have a different license, and can pay for it.

The project is being abandoned because the maintainer is tired of working for free. They said that they hoped someone would fork it, change the name, and pick up where it was left off.

Why would anyone do that? If the person who was most passionate about it for over a dozen years has given up because it was never worth the trouble; what fool would think things will be different going forward?

This is the curse of OSS.

While I tend to agree with the line of thinking in this thread that the ethos of open source (and the web writ large) have been taken advantage of by capitalism, I can't quite see this: things belong to a time and place in one's life. The creator feels like his time with this project is at an end, but why would that be an impediment to someone who needs a package like this stepping up and maintaining it? Better to do that than build a replacement from scratch (most likely). And more likely to attract new sponsorship by being a reliable steward of a known name (albeit with a suffix or something).
> have been taken advantage of by capitalism

“And many programmers, they say to me, “The people who hire programmers demand this, this and this. If I don't do those things, I'll starve.” It's literally the word they use. Well, you know, as a waiter, you're not going to starve. So, really, they're in no danger.”

- Richard Stallman in 2001 admitting his ideology can’t explain how a programmer can eat

In my opinion, though this is HN heresy, the free software ideology and ethos was naïve, utopian, and clueless about how power works, from day 1. His dream is literally structurally impossible, capitalism or no capitalism, so long as humans need money to eat.

What is RMS quote supposed to prove here? We can always find new work? Is that it? If so -- not so fast. When you have a family, your freedom is severely hampered. Most companies understand this and abuse it.

And yes the free software ideology is as naive as a puppy. Every serious individual understands this. Most HN-ers are in a fairly specific bubble (income brackets, geo-location, political leanings, upbringing, the whole package); of course to them this is "heresy". This is well-understood. Happily for me and many others around here, karma farming is not the goal so we don't mind getting some gray arrow treatment every now and then.

Communism occurs in part whenever a need is met or an economic decision is made without using value tokens. Direct access to resources without money happens every day (e.g. anyone using Linux rather than a proprietary OS, or exercising in a public park rather than a for-profit gym). The only thing keeping other products & services hoarded behind paywalls is devotion to capitalist ideology. It literally is a problem of capitalism. The structure of the world outside of people's brains has nothing to do with it.
> and clueless about how power works, from day 1

September 26th, 1983:

"Dear Mr. Stallman, it is I, gjsman-1000, a time-traveler sent back to tell you to rethink your upcoming GNU project because you are currently clueless about how power works. Yes, you may be able to code up an impressive prototype compiler and revise it until your fingers bleed. Yes, a decade later some zealous followers may follow your lead and maintain it on the bleeding edge. Yes, two decades later others will perhaps start an open source compiler project to wrest control from your successful compiler that is largely maintained without your direct input. And yes, three decades later your compiler team may even merge in new features and improvements that came from the other compiler. But heed my ominous warning: four decades later I will not be able to remember my original point, for time travel is dangerous business and has adverse effects on short and long term memory."

It is my experience that most people work hard to 'get ahead' and not to merely survive. Yes, we will work for subsistence wages if no other option exists, but the goal is to thrive.

Some who are opposed to capitalism seem to think that anyone who wants to trade their talents and hard work for more than the minimum, are exploiting anyone who wants or needs their product.

I mean, repeated claims about starving programmers I see HN are indeed ridiculously dramatic. They show up in relation to open source, but mostly as arguments why all those highly paid people just must do unethical things, else they will starve.

I am not even fan of Stallman. I think it is ok to produce close software. But starving argument is just not it.

> what fool would think things will be different going forward?

> This is the curse of OSS.

There are examples of failing forks. And there are examples of forks that became better than the original. It is not possible to generalize this into one or the other solely via a curse-of-OSS conclusion. Funding will always be an issue; but funding is not necessarily the main or only criterium as to whether a project fails or succeeds.

An alternative reading is that after 13 years dedicated to a single project, the original author is simply burnt out on it, but a new maintainer can start with fresh passion that will last a number of years.

Just because someone gets tired of working on something eventually doesn't mean everyone else will immediately feel the same way.

Did you read the notice on the git hub site? I think he clearly states that he wanted to continue to work on the project, but could not justify it after sources of funding failed to materialize.
Sure, but a new maintainer might have different needs. The original maintainer doesn’t have the time now to do the work for free, since they have to also have a job to pay the bills. A new maintainer might have more free time, at least for a while…
They said they imagined it would (I read as "might") be forked, and if it were, please don't use their name for it.

I don't think they are "hoping" someone else will take it, exactly. They're just done with it. That's how I read it, they liked working on it, but it wasn't financially sustainable, the project is now over, and my reading is they are sad about it.

The struggles of living in an economic system while completely rejecting that system and pretending it isn't there.
There is no evidence of any of that.

He was paid to work on it. That stopped, he continued to work on it in the hopes he could find someone who would hire him to work on it.

That wasn’t true, no one has funded it.

So due to the economic system he no longer maintains it.

That’s your economic system at work. No one is pretending it isn’t there, this is the outcome of it

That's actually not the problem. The problem is that the conventional funding model for open source does not make sense and nobody has the resources to provide a financial product that actually works, since the projects with a single maintainer are too small of a market to be worth serving for classic financial institutions like banks.

The business model is as follows: Open source maintenance produces recurring costs (developer salary, infrastructure costs, etc) but these costs are fixed and do not scale with the number of users, only with the development effort. This means the ideal financing structure would be a cost plus system where the maintainer gets paid a salary and the customers (businesses) are spreading the cost among each other so that each business ends up paying less than if they had built or maintained the project in-house.

The problem here is that the costs are variable and depend on the number of participants and their individual willingness to spend money and how that effects the viability of the project as a whole. Participating businesses need some sort of guarantee that they won't be stuck with all of the costs and that there are other participants who will chip in. At the same time, once there is a sufficient number of participants, the participating businesses don't want to overpay. They may commit to a monthly worst case bill of $5000, but if the total bill is $10000 and there are 100 participating businesses so that each business could only pay $100, said big spender would want the option to lower their spending down to $100 if possible and let others carry more of the financial burden.

With this sort of arrangement, funding open source software would be rational, since the amount you save by freeloading is insignificant compared to the risk of the project being discontinued due to freeloading.

One thing people are not taking into account is that many developers now have less time and are working a lot more because AI makes it seem it should be possible to hit those deadlines, etc.

Also, many programers have spent their entire funds on tokens, so neither are left with extra money nor time.

Acquisitions change priorities and layoffs put the squeeze on people. AI is for sure in the mix there, but open source decay is a result of no room in budgets for anything but maximizing revenue.
I have recently configured pgbackrest for our app. :(
I have a moderately sized 2TB production database I have enjoyed using pgBackRest on, and was—this week—going to set it up on another 8TB database we have.

What's the next-closest thing? wal-g? barman? databasus? I only get to cosplay as a DBA.

I can beat you on the timing - I'd never used pgBackRest before, but started setting it up on a project about 2 hours ago, by the time I'd finished the README had been updated.
databasus does not do PITR.
Is that info up-to-date? Their readme states:

  **Backup types**
  
  - **Logical** — Native dump of the database in its engine-specific binary format. Compressed and streamed directly to storage with no intermediate files
  - **Physical** — File-level copy of the entire database cluster. Faster backup and restore for large datasets compared to logical dumps
  - **Incremental** — Physical base backup combined with continuous WAL segment archiving. **Enables Point-in-time recovery (PITR)** — restore to any second between backups. Designed for disaster recovery and near-zero data loss requirements
EDIT: It seem PITR has been added this March (for PostgreSQL)

https://github.com/databasus/databasus/issues/411