News for hackers. Stuff that matters.

adastral

Re:Massively Parallel Postgres Backups on Monday August 03, 2026 @06:21PM (#49162232)
How do you cope with distributed transactions? (I'm not sure if you support them?)

I know that Citus has a `citus_create_restore_point()` (or so) function that, when called, guarantees that no 2PC commits are in flight and creates a WAL restore point in every shard. Therefore, restoring shards to that point will leave the DB in a consistent state. Do you do something similar?

Re:First attempt will be 95% garbage: 6 weeks with Claude Code on Wednesday September 03, 2025 @10:53AM (#45116522)
PostgresTV livestreams "vibe coding" 1h sessions implementing small PostgreSQL features with Cursor (mostly claude-4-sonnet model) every week, by experienced PostgreSQL contributors. [0] is their latest stream.

I personally have not watched much, but it sounds just like what you are looking for!

[0] https://www.youtube.com/watch?v=3MleDtXZUlM

Re:Curl-Impersonate on Monday December 30, 2024 @08:57AM (#42549290)
> I default to a headless browser

Headless browsers consume orders of magnitude more resources, and execute far more requests (e.g. fetching images) than a common webscraping job would require. Having run webscraping at scale myself, the cost of operating headless browsers made us only use them as a last resort.

Re:Starcraft (A History in Two Acts) on Sunday July 07, 2024 @04:56AM (#40896166)
From https://www.codeofhonor.com/blog/the-starcraft-path-finding-...

> whenever harvesters are on their way to get minerals, or when they’re on the way back carrying those minerals, they ignore collisions with other units

Maybe that's part of the fluid behaviour you noticed.

The blog contains more technical posts about StarCraft 2, so you might find that "special sauce" somewhere else in there :)

Re:The Great Migration from MongoDB to PostgreSQL on Friday March 29, 2024 @04:56AM (#39861920)
Not sure if this is what the above comment means by "atomic", but a shortcoming of Postgres' JSON support is that it will have to rewrite an entire JSON object every time a part of it gets updated, no matter how many keys the update really affected. E.g. if I update an integer in a 100MB JSON object, Postgres will write ~100MB (plus WAL, TOAST overhead, etc.), not just a few bytes. I imagine this can be a no-go for certain use cases.
Re:How Figma's databases team lived to tell the scale on Thursday March 14, 2024 @02:49PM (#39707551)
Around ten heavily-updated (50-400k updated rows/min) tables ranging between 500M and 5B rows, with a couple tables over 40B rows each (5TB each IIRC).
Re:How Figma's databases team lived to tell the scale on Thursday March 14, 2024 @02:38PM (#39707447)
I see they don't mention Citus (https://github.com/citusdata/citus), which is already a fairly mature native Postgres extension. From the details given in the article, it sounds like they just reimplemented it.

I wonder if they were unaware of it or disregarded it for a reason —I currently am in a similar situation as the one described in the blog, trying to shard a massive Postgres DB.

> they'll be encrypted

Since some months (years?) ago, WhatsApp lets you set up your own encryption password for the DB backup. I set one up and used https://github.com/ElDavoo/wa-crypt-tools to get access to the decrypted SQLite and run some analytics over my messages :)