{
  "aliases": [
    "pgboss"
  ],
  "workflows": [
    "Background email or report generation in a Node API",
    "Nightly scheduled maintenance tasks without a cron daemon",
    "Enqueue follow-up work inside the same transaction as a database write"
  ],
  "advantages": [
    "No extra infrastructure beyond PostgreSQL",
    "Transactional consistency with application data",
    "MIT license"
  ],
  "limitations": [
    "Node.js only",
    "Polling-based; throughput limited by the database",
    "Not suited to very high-rate or low-latency fan-out"
  ],
  "prerequisites": [
    "Node.js and a PostgreSQL database"
  ],
  "audiences": [
    "Node.js and TypeScript backend developers"
  ],
  "alternatives": [
    "bullmq",
    "rabbitmq",
    "nats",
    "postgresql",
    "redis"
  ],
  "tags": [
    "job-queue",
    "postgresql",
    "nodejs",
    "typescript",
    "open-source"
  ],
  "use_cases": [
    "queue-background-jobs"
  ],
  "operating_systems": [
    "macos",
    "linux",
    "windows"
  ],
  "deployment_models": [
    "embedded"
  ],
  "integrations": [
    "PostgreSQL",
    "Node.js",
    "PM2"
  ],
  "data_formats": [
    "JSON job payloads"
  ],
  "languages": [
    "JavaScript",
    "TypeScript"
  ],
  "self_hostable": true,
  "discovery_method": "editorial-research",
  "depth": "standard",
  "editorial_status": "reviewed",
  "visibility": "public",
  "featured": false,
  "author": "batch-D",
  "slug": "pg-boss",
  "name": "pg-boss",
  "vendor": {
    "name": "Tim Jones (pg-boss project)",
    "slug": "pg-boss-project",
    "website": "https://github.com/timgit/pg-boss"
  },
  "homepage_url": "https://github.com/timgit/pg-boss",
  "docs_url": "https://github.com/timgit/pg-boss#readme",
  "repo_url": "https://github.com/timgit/pg-boss",
  "license_url": "https://github.com/timgit/pg-boss/blob/master/LICENSE",
  "product_type": "library",
  "product_status": "active",
  "summary": "Node.js job queue that uses PostgreSQL tables and SKIP LOCKED for reliable background jobs, scheduling and retries without a separate broker",
  "description": "pg-boss is an MIT-licensed Node.js library, maintained by Tim Jones, that implements a job queue on top of PostgreSQL. It creates its own schema of tables and uses transactional SELECT ... FOR UPDATE SKIP LOCKED fetches so that multiple workers can claim jobs safely, and it supports delayed and scheduled jobs (cron expressions), retries with backoff, priorities, singleton and throttled jobs, batch fetching, dead-letter queues, completion events and automatic archiving and expiry of finished jobs. Because state lives in the application's existing database, jobs can be enqueued inside the same transaction as the business data they relate to.\n\nIt is a pragmatic choice for TypeScript or JavaScript services that already run PostgreSQL and do not want to operate Redis or a broker, including PM2-managed Node apps. Throughput is bounded by database polling and row contention, so very high-volume or sub-second fan-out workloads are better served by BullMQ on Redis or a dedicated message system, and the library is Node-only, with no workers in other languages.",
  "capabilities": [
    "Queues stored in PostgreSQL with SKIP LOCKED job fetching",
    "Delayed, scheduled (cron) and recurring jobs",
    "Retries with backoff, priorities and dead-letter queues",
    "Singleton and throttled jobs",
    "Transactional enqueueing with application data",
    "Archiving and retention of completed jobs"
  ],
  "categories": [
    {
      "slug": "messaging-queues",
      "primary": true
    }
  ],
  "execution_modes": [
    "self-hosted",
    "local"
  ],
  "interfaces": [
    "library"
  ],
  "source_model": "open-source",
  "license_spdx": "MIT",
  "pricing_model": [
    "open-source",
    "free"
  ],
  "sources": [
    {
      "url": "https://github.com/timgit/pg-boss",
      "type": "official_site",
      "supports": [
        "name",
        "summary",
        "capabilities"
      ],
      "checked_at": "2026-11-02",
      "title": "timgit/pg-boss",
      "note": "Project README is the primary documentation"
    },
    {
      "url": "https://github.com/timgit/pg-boss",
      "type": "repository",
      "supports": [
        "repo_url",
        "product_status"
      ],
      "checked_at": "2026-11-02",
      "title": "pg-boss repository"
    },
    {
      "url": "https://github.com/timgit/pg-boss/blob/master/LICENSE",
      "type": "license_page",
      "supports": [
        "license_spdx",
        "source_model"
      ],
      "checked_at": "2026-11-02",
      "title": "pg-boss LICENSE (MIT)"
    }
  ],
  "confidence": "high"
}
