Freedom251 › Task Queue Software
pg-boss

What pg-boss is
pg-boss is a Node.js job queue that uses PostgreSQL for background processing and asynchronous execution. Applications can add a job in the same database transaction as related data changes, so the job is saved only if that transaction commits. Workers use PostgreSQL SKIP LOCKED to claim jobs concurrently; delivery is at least once, so a handler can run more than once for a job. Queue controls include priorities, rate limits, debouncing, concurrency policies, retries with exponential backoff, and dead-letter queues. Scheduling covers cron and RRULE patterns, job deferral, and dependency-based workflows. Workers support backpressure-aware polling and optional PostgreSQL LISTEN/NOTIFY. Adapters are available for Knex, Kysely, Drizzle, and Prisma. Separate packages provide a web dashboard and a JSON HTTP API proxy. Supported backends include PostgreSQL, CockroachDB, YugabyteDB, Citus, and PGlite. The MIT-licensed software is free and self-hosted. It requires Node 22.12 or higher or Bun, plus PostgreSQL 13 or higher; its documentation says it suits teams familiar with relational databases, SQL, querying, and backups.
Who it suits
pg-boss suits teams already using PostgreSQL who want background jobs without operating another system. Its documentation points to teams comfortable with relational database concepts, SQL, queries, and backups.
What it does well
- Jobs can share a transaction with related data changes
- Supports retries, priorities, and dead-letter queues
- Offers cron, RRULE, and dependency-based workflows
- MIT-licensed and self-hosted
What to know first
- Requires Node 22.12 or higher or Bun
- Requires PostgreSQL 13 or higher
- At-least-once delivery can run handlers repeatedly
- A growing backlog can affect the shared job table
Limits
The free pg-boss plan is MIT-licensed open source, runs in your own database, and has no per-job charges. Its default shared partitioned job table can affect performance when a queue grows significantly or builds an unexpected backlog; delivery is at least once.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| pg-boss | MIT-licensed open source · runs in your own database · no per-job charges | Free |
As pgboss.io lists them, read 2 Oct 2026. The maker's own page has the final word.
Getting started
- Open https://pgboss.io/.
- Use a PostgreSQL 13 or higher database, including a supported compatible backend.
- Use Node 22.12 or higher or Bun with the JavaScript or TypeScript SDK.
- Deploy pg-boss on your own infrastructure and database.
- Choose whether to add the dashboard or HTTP API proxy packages.
Verdict
pg-boss provides scheduling and queue controls within a PostgreSQL-based setup. Account for its runtime and database requirements, and make handlers safe for possible repeated delivery.
Questions
How much does pg-boss cost?
The pg-boss plan is free. It is MIT-licensed open source, runs in your own database, and has no per-job charges.
Is there a free plan or trial?
Yes, the plan is free. There is no free trial because the project is offered as free software.
What does pg-boss require?
It requires Node 22.12 or higher or Bun, and PostgreSQL 13 or higher. Supported backends also include CockroachDB, YugabyteDB, Citus, and embedded PGlite.
Which languages does it support?
The official SDK languages listed are JavaScript and TypeScript.
Can jobs be scheduled or retried?
Yes. It supports cron and RRULE schedules, job deferral, dependency-based workflows, and custom retry policies with exponential backoff.
Is pg-boss open source and self-hosted?
Yes. It is MIT-licensed and runs in your own database; the deployment model is self-hosted.
Facts from pg-boss's own pages
- Concurrency
- It uses PostgreSQL SKIP LOCKED so concurrent workers claim jobs without blocking each other, with atomic commit safety. · pgboss.io, 1 Oct 2026
- Dashboard
- The separate @pg-boss/dashboard package provides a web dashboard for monitoring and managing jobs, queues, and schedules. · pgboss.io, 2 Oct 2026
- Database backends
- The documented backends are PostgreSQL, CockroachDB, YugabyteDB, Citus, and embedded PGlite; the page says Aurora DSQL and Spanner are not yet supported. · pgboss.io, 2 Oct 2026
- HTTP API
- The @pg-boss/proxy package exposes pg-boss methods over JSON HTTP for use from other runtimes and offers optional basic authentication and configurable CORS. · pgboss.io, 2 Oct 2026
- Intended users
- The maker says pg-boss suits teams already running PostgreSQL that want to avoid adding another system to operate and monitor. · pgboss.io, 2 Oct 2026
- Job delivery
- Jobs are delivered at least once, so a worker may run a handler more than once for the same job. · pgboss.io, 2 Oct 2026
- License and maintenance
- pg-boss is MIT-licensed and maintained by one person; the maker says sponsorship supports maintenance, security response, and support. · pgboss.io, 2 Oct 2026
- License and support
- pg-boss is MIT licensed, maintained by one person, and sponsorship funds maintenance, security response, and support. · pgboss.io, 1 Oct 2026
- Observability
- The project lists OpenTelemetry traces and metrics, including continuation of a job's trace from send() to the worker processing it. · pgboss.io, 2 Oct 2026
- Operational limit
- By default all queues share one partitioned job table, which can affect performance if a queue grows significantly or develops an unexpected backlog. · pgboss.io, 1 Oct 2026
- ORM integrations
- Its transaction adapters support Drizzle, Knex, Kysely, and Prisma. · pgboss.io, 2 Oct 2026
- Proxy security
- The proxy supports optional basic authentication, configurable CORS, and route allowlists or denylists. · pgboss.io, 1 Oct 2026
- Queue features
- The project lists retries with exponential backoff, priorities, dead-letter queues, rate limiting, debouncing, and concurrency policies. · pgboss.io, 2 Oct 2026
- Queue policies
- Features include rate limiting, debouncing, concurrency controls, priorities, dead-letter queues, and retries with exponential backoff. · pgboss.io, 1 Oct 2026
- Requirements
- The homepage lists Node 22.12 or higher, or Bun, and PostgreSQL 13 or higher as requirements. · pgboss.io, 2 Oct 2026
- Scheduling
- It supports job dependency workflows, cron and RRULE scheduling, and job deferral. · pgboss.io, 1 Oct 2026
- Scheduling and workflows
- pg-boss supports cron and RRULE scheduling, job deferral, and dependency-based workflow orchestration. · pgboss.io, 2 Oct 2026
- Target users
- The documentation says it is most suited to teams familiar with relational database semantics, SQL, querying, and backups, especially teams already using PostgreSQL. · pgboss.io, 1 Oct 2026
- Transactions
- Jobs can be sent in the same database transaction as the data change they belong to, so the job exists only if that transaction commits. · pgboss.io, 2 Oct 2026
- What it does
- pg-boss is a Node.js job queue built on PostgreSQL for background processing and reliable asynchronous execution. · pgboss.io, 2 Oct 2026
- Workers
- Workers support backpressure-aware polling and optional PostgreSQL LISTEN/NOTIFY for millisecond delivery latency. · pgboss.io, 1 Oct 2026
Where pg-boss stands on Freedom251
- Task Queue Software#14 of 37