← All systems
Event queueAdapter in this repoEarly-stage API

PgQue

A shared event log with consumer cursors and batch acknowledgements.

API / SDK surfaceSQL · Go · Python · TypeScript
Inspected snapshotv0.2.2 · source snapshot
Sources checked2026-10-23
License at snapshotApache-2.0

View pinned source / version 4a522584a112 · Repository .gitmodules points to https://github.com/NikolayS/pgque.git, whose canonical GitHub spelling is NikolayS/PgQue. Distinct from pgq/pgq. Current main can contain changes beyond v0.2.2.

What this system is built around

A shared event log with consumer cursors and batch acknowledgements.

A useful starting point

A shared event-log and fan-out design when independently advancing consumer groups and batch acknowledgement match the workload. Ticking and maintenance are explicit operating responsibilities.

Editorial fit, based on the cited design. Verify against your workload.

Semantics & operating model

Concise claims with their scope intact. “Not verified” means this review did not establish the answer.

Claiming & concurrency

Qualified

Independent registered consumers each keep a cursor over the shared log. Cooperative subconsumers are experimental; allocation serializes on a subscription row. This is not the default per-job competing-consumer contract.

Transactional enqueue

Documented

send can join business writes. receive, local database writes and batch ack can commit together; send, ticker and receive must not be collapsed into one transaction because of snapshot visibility.

Crash recovery & retries

Documented

Default consumption is at least once. nack schedules a per-event retry and routes exhausted events to a dead-letter table; the application still acknowledges the whole received batch.

Delayed & recurring work

Qualified

Recurring production can use pg_cron. Delayed send_at is an explicitly loaded experimental add-on, not the default stable API.

Uniqueness / deduplication

Not verified

No general insert-time unique-job API was verified in the reviewed default interface. Idempotent retry/DLQ operations are not producer deduplication.

Postgres extension required

Optional / qualified

Default installation is SQL/PLpgSQL on PostgreSQL 14+ without a C extension. A ticker and maintenance must be driven by pg_cron, pg_timetable or an external process; optional pg_tle packaging has different prerequisites.

Operator interface

Not verified

The repository web directory is its marketing/documentation site, not evidence of an operations dashboard.

Tradeoffs to carry into a test