A practical guide to Postgres-backed jobs

Same database.
Different promises.

Choose a queue by the work it must protect. Explore job frameworks, durable workflows, visibility queues and event queues—with the evidence kept in view.

14systems in this guide
8benchmark adapters
4different system contracts
No universal ranking.Documentation, benchmark methods and simulations stay separate.

The directory

Start with your constraints.

What’s covered, and what isn’t ↗

14 systems · alphabetical order

Choose up to 4 to compare
Durable workflow

Absurd

TypeScript · Python · Go (experimental)

Checkpointed workflows that replay persisted steps after interruption.

Adapter in this repo
Read profile
Job framework

Awa

Rust · Python

Typed Rust and Python jobs with segmented storage and guarded attempts.

Adapter in this repoDevelopment snapshot
Read profile
Job framework

A Rails ActiveJob backend with a dashboard and concurrency extensions.

Documentation only
Read profile
Job framework

Graphile Worker

Node.js · TypeScript

Node.js task executors, SQL enqueue and serial named queues.

Documentation only
Read profile
Job framework

Oban

Elixir

An Ecto and OTP job framework with queues, retries and telemetry.

Adapter in this repo
Read profile
Job framework

pg-boss

Node.js · TypeScript

Node.js job queues with explicit queue policies and transaction adapters.

Adapter in this repo
Read profile
Visibility queue

PGMQ

SQL · Language-neutral clients

SQL messages with a visibility timeout and application-owned consumers.

Adapter in this repo
Read profile
Event queue

PgQ

SQL · C · Python ecosystem

The maintained original PgQ event engine, with tick-based batches.

Documentation only
Read profile
Event queue

PgQue

SQL · Go · Python · TypeScript

A shared event log with consumer cursors and batch acknowledgements.

Adapter in this repoEarly-stage API
Read profile
Job framework

PotatoQ

Python

An alpha Python worker with Celery-shaped APIs and a Postgres transport.

Documentation onlyAlpha
Read profile
Job framework

Python sync/async tasks with application locks and configurable recovery.

Adapter in this repo
Read profile
Job framework

Que

Ruby

A focused Ruby queue built around advisory locks and transaction control.

Documentation only
Read profile
Job framework

River

Go · Ruby · Rust · TypeScript

A PostgreSQL job framework with a shared format across language clients.

Adapter in this repo
Read profile
Job framework

Rails job infrastructure with SQL dispatch and explicit failure records.

Documentation only
Read profile

Language labels describe the inspected API/SDK surface, not equal maturity or feature parity across bindings. Read each profile’s scope and snapshot.