Durable workflows can now run inside the DB. Postgres-backed statefulness is no gimmick—the game changer is DBOS, a Go library that automatically checkpoints a program’s state to Postgres. If the app crashes, workflows resume from the last completed step on restart [1].
Durable workflows without a separate orchestrator
With DBOS, there’s no separate service to run. It’s a pure Go package that auto-checkpoints into Postgres, so you can add durable workflows to an existing app without rearchitecting everything [1]. The result: reliability that kicks in automatically, even when failures occur mid-stream [1].
Why PostgreSQL goals matter
PostgreSQL's original project goals emphasized reliability and extensibility, and a Crunchy Data piece argues the creators nailed those aims [2]. That inheritance—trustworthy data, resilient design—shapes decisions about where and how durability lives: inside the database, not in a separate service.
Tuning notes for PostgreSQL 18
Tuning AIO in PostgreSQL 18 is relevant for in-DB workflows, with guidance that could influence performance as you shift more orchestration into the database layer [3].
Real-world use from the Go library
- AI agents handling unreliable APIs [1]
- Observable, fault-tolerant data pipelines [1]
- Orchestrating business processes with seamless recovery [1]
- Reliable background jobs with no timeouts [1]
- Processing incoming events (e.g., Kafka) exactly once [1]
Closing thought: this approach shows how the database itself can be the durable engine, but keep an eye on PostgreSQL 18 AIO tuning to squeeze more performance for in-DB workflows [3].
References
Show HN: Postgres-Backed Durable Workflows in Go
Open-source Go library provides Postgres-backed durable workflows; auto checkpointing state, resume after crashes; no separate orchestrator; no service to run.
View sourcePostgres' Original Project Goals: The Creators Nailed It
Discusses Postgres' original goals and whether creators met them, with historical context and design decisions.
View sourceTuning AIO in PostgreSQL 18
Discusses optimizing asynchronous I/O in PostgreSQL 18, exploring configuration adjustments and potential performance tradeoffs.
View source