🗄️ Database-Centric Orchestration
pgflow puts PostgreSQL at the center, using it not just for storage but for orchestration logic
This section compares pgflow to other workflow orchestration systems, helping you understand the architectural differences, trade-offs, and when to choose each approach.
Workflow systems use one of two approaches:
You define the complete workflow structure upfront. The system knows all steps and their dependencies before execution starts.
// The entire graph is defined upfrontnew Flow({ slug: 'processOrder' }) .step({ slug: 'validate' }, async (input) => { /* ... */ }) .step({ slug: 'charge', dependsOn: ['validate'] }, async (input) => { /* ... */ });The workflow structure emerges as your code executes. Steps are discovered at runtime, checkpointed, and can be replayed with memoized results.
// The graph emerges as code runsasync function processOrder(input) { "use workflow"; // or @DBOS.workflow() or step.run() const validated = await validate(input); // Step 1 discovered here const charged = await charge(validated); // Step 2 discovered here}Key difference: Explicit graphs are compiled/analyzed before execution. Implicit graphs are discovered during execution and recovered through replay or checkpoints.
All four systems below use the implicit graph approach - they’re similar to each other and different from pgflow’s explicit graph model.
When comparing pgflow to other workflow systems, these are the most important architectural differences:
🗄️ Database-Centric Orchestration
pgflow puts PostgreSQL at the center, using it not just for storage but for orchestration logic
⚡ Supabase Integration
Built specifically for the Supabase ecosystem with zero additional infrastructure
🔗 Explicit Data Dependencies
Flow steps connect through explicit data dependencies rather than procedural control flow
💾 PostgreSQL State Storage
All workflow state remains directly queryable in your Supabase database
These guides help you decide which tool is best for your specific use case based on your requirements, preferences, and existing infrastructure.