frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Just Use Postgres for Durable Workflows

https://www.dbos.dev/blog/postgres-is-all-you-need-for-durable-execution
90•KraftyOne•1h ago

Comments

sgt•1h ago
Continuously amazed by what you can do with few tools, as long as Postgres is a part of your toolkit.

I recently developed a distributed queue and it works really great - benchmarks great too, with no race conditions or conflicts. I used SKIP LOCKED so that workers can compete safely.

You can also have multiple workers across nodes avoid conflict by using session wide mutexes i.e. pg advisory lock.

senderista•1h ago
Citing CockroachDB as an example of scaling Postgres made me spit out coffee. Was this LLM-written?
sorentwo•49m ago
The efforts we've undergone to make Oban (and Pro) work with CRDB have been ridiculous. Feature detection all over because of a lack of common operators and functions that can't be used in indexes. The worst is the rampant "serialization_failure" errors that force continual transaction retries. Not how I'd suggest scaling Postgres.

That said, as a predecessor to dbos in building durable workflows just using Postgres, I concur with the overall sentiment.

throwaw12•55m ago
Curious to know experience of people using DBOS and Temporal.

I have used Temporal in the past, works really good, my only problem with it was some limits on request payload or event sizes, created some inconveniences to us when building solutions. It also enforces good engineering practices, but sometimes you don't want to write special logic if your CSV file is larger than 2Mb, upload it to S3, pass link, then download it in the workflow.

What is your experience with DBOS? How does it compare to Temporal in terms of operational complexity, feature parity and anything else

switchbak•53m ago
They've just released an external storage approach to solve the large payload issue. I don't 100% love it (it's bolted on, not an intrinsic part), and it's an early release right now - but you can consider this effectively solved for now.
hilariously•38m ago
That's good because back in the day if you were putting entire documents in a message queue I would laugh people out the door, putting something in object storage + linking is much more useful (though the distributed system part/backup current state part can be annoying!)
quard8•36m ago
we're using dbos for ai gen workflows and processing video files. understanding how to migrate from celery took time, but for our case it was worth it.
temporal_thr123•31m ago
I run a large on-prem temporal setup - throwaway acct as they will likely out me.

Temporal is, in my opinion having run it in prod for over a year - poorly designed, slow and ridicliously heavy infra wise.

If you're doing anything non-trivial (say, 200+ events/workflow) and you need to run only a couple hundred of them concurrently all day, you're going to spend millions on infra, and it's still going to absolutely suck.

Try running their own benchmarks, the numbers are pathetic.

Their sales team is also absolutely appalling and desperate.

From a Developer standpoint, the SDK is quite nice though.

Don't get trapped into nexus, and if the sales team call you make sure legal is in the room.

switchbak•55m ago
Having inherited a few of these - you tend to home-grow an ad-hoc version of many of the existing OSS tools, but with less of the patterns baked in.

Not sure where the NIH ends and where you're actually better off with a supported orchestration approach. I suppose if you expect your program to be around a while (or need advanced features), maybe think about using something a bit more battle tested?

vrm•53m ago
Since DBOS doesn't support Rust, we implemented a very minimal Rust version of this at https://github.com/tensorzero/durable. It has been quite stable and extensible but of course you need to be very careful with the SQL implementations. Hope this is interesting to readers here.
cpursley•49m ago
PgFlow is pretty awesome for DAG workflows - it's built on pgmq (which does the heavy lifting).

Typescript: https://www.pgflow.dev

Elixir: https://github.com/agoodway/pgflow/blob/main/docs/COMPARISON...

pirsquare•43m ago
I feel it's way too hand wavy on consistency and correctness. My opinion as someone who've implemented marketing workflows that breaks all the time (and tons of painful lessons).

Strong correctness guarantee is something that should not be undermine. Even more important than availability.

The examples on the website is simple but heavily undermines the importance of correctness. Anyone who implement similar pseudo-code directly will eventually suffer from data correctness issue in crashes.

  @DBOS.workflow()
  def checkout_workflow(items: Items):
      order = create_order()
      reserve_inventory(order, items)
      payment_status = process_payment(order, items)

      if payment_status == 'paid':
          fulfill_order(order)
      else:
          undo_reserve_inventory(order, items)
          cancel_order(order)
hmaxdml•17m ago
As you said, the example is simple and it might not be obvious to people without prod experience what the problems can be. Postgres can give you all the primitives you need to solve this at the application layer. Durable workflows on Postgres is an effective way to access these primitives.
hbarka•43m ago
How do you incorporate secrets in this kind of implementation? Stored in db?
llmslave•38m ago
Temporal is an insane piece of software, always surprised people dont know about it. You could replace almost youre whole AWS stack with temporal
temporal_thr123•28m ago
Sure, if you wanna run a 48 node cassandra cluster...
cpursley•21m ago
You could replace nearly the entire AWS stack with an Elixir (Erlang) monolith + Postgres.
opiniateddev•31m ago
Conductor OSS does this quite well https://docs.conductor-oss.org/devguide/ai/index.html

https://github.com/agentspan-ai/agentspan which is essentially an agentic SDK layer for Conductor can convert any of your langgraph, openAI, vercel, or ADK agent and makes it durable and adds orchestration with no code changes.

magicseth•27m ago
Convex has a workpool component that gives the ability to compose big complicated flows in an understandable way, and give you realtime updates on status of various pieces: https://www.convex.dev/components/workflow
munk-a•23m ago
We have a durable queue built into postgres to handle some complex notification-ish logic. It's worked excellently and while there are services various cloud providers would love to sell us to do that it's extremely cheap to run.

For that particular usage, the volume we process and business criticality make it a good choice for inventing here - but for other durable processes we just use off the shelf tools since the cost of maintenance would quickly outstrip the value.

Postgres is a great tool to use and far more powerful than most people give it credit for - but there's always the balance of in-house maintenance vs. paying rent for someone else's solution.

PunchyHamster•17m ago
what's "maintenance" here ? If app is also using PostgreSQL it should be just initial effort of writing/importing code to run it, no ?
munk-a•9m ago
You pay for everything you build - the more complexity you put into it the more that costs over time. Dependencies need to be updated, language/framework upgrades usually break something, new features/requirements introduce additional complexity and code to manage. Software just costs money every day - not a lot, our industry is much lower margin than, say, stamping sheets of metal into tools - but it still has operational costs beyond just the money to operate the hardware we run our products on.
PunchyHamster•6m ago
I know that. This looks like some lib you update once a year/every new CVE, and it is compared to a lib from cloud vendor and also update once a year/every new CVE, which is why I asked what it costed YOU in this particular case.
elliot07•18m ago
how is this compared to hatchet?
llimllib•16m ago
Armin Ronacher's `absurd` is an implementation of durable workflows for postgres:

https://lucumr.pocoo.org/2025/11/3/absurd-workflows/

https://github.com/earendil-works/absurd

https://earendil-works.github.io/absurd/

I've not used it, but it's worth comparing to other options

buremba•13m ago
All you need is Postgres until you scale into TBs of data. We use Postgresql as a durable workflow engine, vector search, time-series data, BM25 search, OLTP/OLAP engine, and a queue. It's basically the only dependency we have for lobu.ai

The main benefit is centralizing all the data in one place so we don't need to worry about copying data in between multiple systems. Once something becomes the bottleneck, you can eventually migrate to a purpose specific tool to scale out.To be honest, LISTEN/NOTIFY in my opinion is the most fragile part of PG but it's fine as start until you scale out.

hmaxdml•6m ago
Listen/notify is poised to become much better in PG 18 and 19
OutOfHere•8m ago
I am not convinced that using a special software for "durable workflows" is necessary. If one has a stateful message queue or job task queue, e.g. RabbitMQ or Celery, one can use it. Irrespective, many jobs can be made idempotent. The most that you ought to residually need is a column in an existing table of your own database which keeps track of what remains to be done.
temporal_thr123•19m ago
Since I'm in a ranting mode -- here's a good example: you're limited to _ONE_ IO per shard in the history service:

https://github.com/temporalio/temporal/blob/e22e6304b3c4a409...

https://github.com/temporalio/temporal/blob/e22e6304b3c4a409...

Temporal does a crazy amount of database operations and all of these are behind that mutex.

Oh, and you can't change the shard count on existing clusters.

Great stuff.

Claude Opus 4.8

https://www.anthropic.com/news/claude-opus-4-8
805•craigmart•3h ago•599 comments

Just Use Postgres for Durable Workflows

https://www.dbos.dev/blog/postgres-is-all-you-need-for-durable-execution
96•KraftyOne•1h ago•33 comments

About LLMs at Zig Days

https://kristoff.it/blog/llms-at-zig-days/
54•kristoff_it•1h ago•29 comments

Show HN: Continue? Y/N: A 60-second game about AI agent permission fatigue

https://llmgame.scalex.dev
154•Wirbelwind•6h ago•75 comments

The Permanent Upper Crow

https://permanent-upper-crow.jasonwu.ink/
98•whiteblossom•4h ago•31 comments

Indoor Wi-Fi Roaming with OpenWRT

https://taoofmac.com/space/blog/2026/05/26/1730
161•zdw•2d ago•75 comments

News about Raspberry Pi 6 and Microcontroller Development

https://www.jeffgeerling.com/blog/2026/news-about-raspberry-pi-6-and-microcontroller-development/
65•rbanffy•2d ago•40 comments

I hated writing–until I learned there's a science to it(2024)

https://www.science.org/content/article/i-hated-writing-until-i-learned-there-s-science-it
30•o4c•2h ago•9 comments

Show HN: Ktx – Open-source executable context layer for data agents

https://github.com/Kaelio/ktx
27•lucamrtl•4h ago•3 comments

Bitburner, programming-based incremental game

https://bitburner-official.github.io/
18•agmater•2h ago•4 comments

Nitpicking the shell history scene in 'Tron: Legacy'

https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/tron-legacy/
15•speckx•37m ago•1 comments

Separate the Cord from the Device

https://bookofjoe2.blogspot.com/2026/05/blog-post_27.html
6•bookofjoe•38m ago•1 comments

The Most Unlikely School Bag

https://www.carryology.com/insights/carry-culture/the-tale-of-the-worlds-most-unlikely-school-bag/
12•surprisetalk•3d ago•4 comments

Using Tailscale with an OrbStack VM on macOS

https://github.com/highpost/tailscale-macos-vm
24•highpost•2d ago•6 comments

EU fines Temu €200M for allowing sale of illegal products

https://www.bbc.co.uk/news/articles/c1k2ydn1rz8o
241•jjp•5h ago•168 comments

Endive: A JVM native WebAssembly runtime

https://github.com/bytecodealliance/endive
17•theanonymousone•3h ago•4 comments

Anthropic raises $65B in Series H funding at $965B post-money valuation

https://www.anthropic.com/news/series-h
115•meetpateltech•1h ago•82 comments

The Lone Lisp Heap

https://www.matheusmoreira.com/articles/lone-lisp-heap
6•stevekemp•1h ago•2 comments

Show HN: Hallucinate – Massively Multiplayer Online Rave

https://hallucinate.site
374•stagas•16h ago•163 comments

Boston and Bermuda

https://askthepilot.com/boston-and-bermuda/
37•dangle1•2d ago•9 comments

Trivial Pursuits

https://www.lrb.co.uk/the-paper/v48/n10/david-runciman/trivial-pursuits
15•diodorus•3h ago•5 comments

Legislation Killed Would Have Effectively Blocked Police LPR, Including Flock

https://ipvm.com/reports/bipartisan-alpr-amendment-killed
45•jhonovich•2h ago•23 comments

YouTube to automatically label AI-generated videos

https://blog.youtube/news-and-events/improving-ai-labels-viewers-creators/
1242•nopg•23h ago•731 comments

US's big bet on quantum computing may not be legal

https://arstechnica.com/tech-policy/2026/05/uss-big-bet-on-quantum-computing-may-not-be-entirely-...
80•Bender•2d ago•83 comments

Show HN: Open-Source AI Racing Harness

https://www.elodin.systems/post/elodin-ai-grand-prix-race-sim-harness
55•danAtElodin•23h ago•6 comments

Dynamic Workflows in Claude Code

https://claude.com/blog/introducing-dynamic-workflows-in-claude-code
98•mil22•3h ago•87 comments

Bttf is a command line datetime Swiss army knife

https://github.com/BurntSushi/bttf
119•burntsushi•16h ago•82 comments

Thornton Wilder's Last Play Vanished into Thin Air. Or Did It?

https://www.nytimes.com/2026/05/27/theater/thornton-wilder-emporium-last-play.html
6•lermontov•1d ago•0 comments

W3C Leadership Transition

https://www.w3.org/press-releases/2026/w3c-leadership-transition/
9•robin_reala•4h ago•1 comments

RamAIn (YC W26) Is Hiring

https://www.ycombinator.com/companies/ramain/jobs/hqvmyKN-founding-gtm-engineer
1•svee•17h ago