PgQ
The maintained original PgQ event engine, with tick-based batches.
View pinned source / version be3d2cee3fc7 · Maintained engine is pgq/pgq. pgq/skytools redirects to archived skytools-legacy, and markokr/skytools labels itself legacy. Do not confuse the engine with NikolayS/PgQue or que-rb/que.
What this system is built around
The maintained original PgQ event engine, with tick-based batches.
Relevant when batch event-stream consumption and existing PgQ tooling are the required contract. Deployment needs the extension and a ticker/maintenance process; verify managed-provider support.
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
QualifiedWork is grouped by tick windows and registered-consumer position rather than a per-job running row. Multiple-consumer/cooperative tooling belongs to the surrounding PgQ ecosystem; its full topology was not audited.
Transactional enqueue
DocumentedSQL insert_event inserts into the queue within the caller transaction; snapshot/tick batches track committed event windows.
Crash recovery & retries
QualifiedAn active unfinished batch is returned again by next_batch. event_retry schedules an event at an absolute or relative time. Consumers own processing and when to finish a batch.
Delayed & recurring work
Not verifiedevent_retry supports future redelivery times. No current first-class per-job cron API was verified in the engine sources reviewed.
Uniqueness / deduplication
Not verifiedNo general unique-job producer API was verified. event_retry handles repeated retry insertion idempotently, which is a narrower operation.
Postgres extension required
RequiredPgQ is a PostgreSQL extension with C low-level functions. pgqd is a separate maintenance/ticker daemon. Current engine README lists PostgreSQL 10–19.
Operator interface
Not verifiedNo current official operations UI was verified in the reviewed engine and daemon documentation.
Tradeoffs to carry into a test
It is an event queue engine, not a drop-in handler framework with a verified current unique-jobs/cron/UI surface.
Installation and prerequisites Transaction integration Recovery and retriesExternal effects remain outside PostgreSQL transaction/ack boundaries.
Recovery and retries Recovery and retries