pg-boss vs River
pg-boss
pgboss.ioRiver
riverqueue.comSide by side
| Figure | pg-boss | River |
|---|---|---|
| Price from | Free | $125/mo |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Linux | Yes | — |
| API | Yes | — |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · Task Queue Software | 8.2 (#8) | 7.8 (#17) |
Plans
In their own words
pg-boss
pg-boss is a Node.js job queue that uses PostgreSQL for background processing and asynchronous job execution. It can add a job in the same database transaction as the data change it belongs to, so the job is created only when that transaction commits. Workers use PostgreSQL SKIP LOCKED to claim jobs without blocking one another, with atomic commit safety; delivery is at least once, so a handler may run more than once. Queue controls include priorities, rate limits, debouncing, concurrency policies, retries with exponential backoff, and dead-letter queues. Scheduling covers cron and RRULE, deferral, and dependency-based workflows. Transaction adapters are available for Knex, Kysely, Drizzle, and Prisma. Supported databases include PostgreSQL, CockroachDB, YugabyteDB, Citus, and PGlite. A dashboard can monitor and manage jobs, queues, and schedules, while a JSON HTTP API proxy serves non-Node runtimes. It is MIT-licensed and self-hosted, with a listed price of free. It requires Node 22.12 or higher or Bun, plus PostgreSQL 13 or higher.
River
River is a background job queue for Go applications, using PostgreSQL or SQLite to store jobs. Its transactional enqueueing keeps a job from running until the database transaction that inserted it has completed. The core set includes isolated queues, unique jobs, prioritization, recurring cron jobs, snoozing, transactional completion, and test helpers. A web interface, pause and resume controls, automatic retries, error reporting, and telemetry integrations support operations. River UI is optional and self-hosted, with no external service dependencies. PostgreSQL is the primary database target; SQLite support is experimental. River Pro adds workflows that split complex work into individually retryable tasks, plus batching, concurrency limits, and ordered job sequences. The free Open Source plan includes the web UI but excludes workflows, concurrency limits, and support. Pro costs $125 a month and includes email support for up to 20 developers. Enterprise pricing is custom and includes email and Slack support, unlimited developers, and access to a SOC 2 report.