← All systems
Visibility queueAdapter in this repo

PGMQ

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

API / SDK surfaceSQL · Language-neutral clients
Inspected snapshotv1.13.1 · source snapshot
Sources checked2026-10-23
License at snapshotPostgreSQL

View pinned source / version 8efb078dbe7a · Features reviewed at this pinned revision. Release names are not the benchmark adapter version.

What this system is built around

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

A useful starting point

A SQL message primitive for applications that want control over polling, visibility renewal, acknowledgement and archival. It is a smaller delivery contract than a framework that owns handlers, attempt budgets and job lifecycles.

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

Documented

SQL reads lock selected rows with SKIP LOCKED and update visibility/read count. Application consumers choose their worker counts; FIFO group APIs provide a separate ordering mode.

Transactional enqueue

Documented

pgmq.send is a SQL INSERT function, so producers can call it inside the same PostgreSQL transaction as application writes. This is a database API, not a separate broker.

Crash recovery & retries

Qualified

read hides a message for a visibility timeout; if it is not deleted or archived, it becomes available again. The upstream exactly-once wording is limited to that timeout and is not an external-side-effect guarantee.

Delayed & recurring work

Qualified

send and send_batch accept relative delays or timestamps. No recurring/cron job scheduler was verified in the reviewed core API.

Uniqueness / deduplication

Not verified

No insertion deduplication guarantee was verified for the reviewed send API. FIFO group ordering is a different feature from deduplication.

Postgres extension required

Optional / qualified

The upstream supports both packaged pgmq extension installation and SQL-only installation of its objects. The benchmark repository uses the extension distribution. Current README states PostgreSQL 14–18.

Operator interface

Not verified

No official standalone operations dashboard was verified in the reviewed upstream core sources.

Tradeoffs to carry into a test