{"_id":"@agendajs/postgres-backend","_rev":"10-b42e1b36ed95f6fab464030a1ec481d0","name":"@agendajs/postgres-backend","dist-tags":{"alpha":"1.0.0-alpha.0","latest":"3.0.6"},"versions":{"1.0.0-alpha.0":{"name":"@agendajs/postgres-backend","version":"1.0.0-alpha.0","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@1.0.0-alpha.0","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"5247a0b79c7e7e157d153789b29449180f6bb59b","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-1.0.0-alpha.0.tgz","fileCount":21,"integrity":"sha512-HXqzVBDtDatbuSNFtdqnfqgzwifgdvkOCyDu4pKpLwNqCUVrfS2Y/MbktT07J/IApHNRZbZZwL8SiVHpP1ihzg==","signatures":[{"sig":"MEUCICQM3uWl8V+x1B7ehKqP4RHJB2jdSFPj6eOWVrxoxUbFAiEA8nhEKQyLYmabs4XLIM2UfKR40RjSJ9EavInMMbmNV5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78335},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-1.0.0-alpha.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"simllll","email":"s.tretter@gmail.com"},"_resolved":"/tmp/2b81381cbbebc124bc688db922bbbed1/agendajs-postgres-backend-1.0.0-alpha.0.tgz","_integrity":"sha512-HXqzVBDtDatbuSNFtdqnfqgzwifgdvkOCyDu4pKpLwNqCUVrfS2Y/MbktT07J/IApHNRZbZZwL8SiVHpP1ihzg==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.8.0","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"22.17.1","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.0.0-alpha.0","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.0.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_1.0.0-alpha.0_1769442844650_0.16192567725005236","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@agendajs/postgres-backend","version":"1.0.0","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@1.0.0","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"92c824466771ccf4318177ecc072aa10798a08f1","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-1.0.0.tgz","fileCount":21,"integrity":"sha512-3lc9ZSjV0tKJtusVquLJ2JPdFxPlPhuoz8ITakBTgrsLFkerlpuxcn6QuXYWdBvpKhq8H1W4gYAeCaes2jzPuw==","signatures":[{"sig":"MEYCIQDbLjDi/SGkDiGKIrACs567HDNgAnK7ETcrUDq6hbZi3wIhAJHWrsLxQGZYkNF6XXA4/Yci3+KbK3vhqIeeFpH532MG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89167},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-1.0.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/20460672231c5b7f3e95d024a30a0e47/agendajs-postgres-backend-1.0.0.tgz","_integrity":"sha512-3lc9ZSjV0tKJtusVquLJ2JPdFxPlPhuoz8ITakBTgrsLFkerlpuxcn6QuXYWdBvpKhq8H1W4gYAeCaes2jzPuw==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.0.0","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_1.0.0_1769514342412_0.5512556901902861","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@agendajs/postgres-backend","version":"2.0.0","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@2.0.0","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"598a8ee152fa263d5baa30b4b0ec6148120bb0b9","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-2.0.0.tgz","fileCount":21,"integrity":"sha512-oaqGggodbHwZH7ZiJwDLvwjBR0+hrx6wabf22loef3fkLlYzrM3pGLa8I9YOv6jCveho3ZJtkhAHvQuVCgdKow==","signatures":[{"sig":"MEUCIQD+/WhTaVo+ux1tSNMk39ZbhsV8LH55ayWgWBwjleAa+AIgUKhcOCOSRzc+B6uugqHXtg4sBYpWeQ/U9ZOd2WyRpss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95660},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-2.0.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/a4a5cba072a47a3eabf292efb692b4ef/agendajs-postgres-backend-2.0.0.tgz","_integrity":"sha512-oaqGggodbHwZH7ZiJwDLvwjBR0+hrx6wabf22loef3fkLlYzrM3pGLa8I9YOv6jCveho3ZJtkhAHvQuVCgdKow==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.1.0","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.1.0"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_2.0.0_1769617846843_0.45978564641508357","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@agendajs/postgres-backend","version":"3.0.0","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.0","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"860039952a7601b2223c7acace14cb7e7b4307a7","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.0.tgz","fileCount":24,"integrity":"sha512-kLuUr4H+4npYaqwyHLjbkOZ+BzjnR6QzwDGtfbXeIoGKGx9UtJ42Km7nLQk8nX0DX+u2CCh9IZi6IQvIt5jTtQ==","signatures":[{"sig":"MEQCIF0o2AONTQ3ME3xRIHg11Fd7ifQ+17Fl1XT1f16PXEiLAiBhY5MxkqFIqo7wgLpBVdlO2yuZh67YhD20K1BVpgTm4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114268},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.0.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/03f74bbadf8a3a5a3467c8dbf7369418/agendajs-postgres-backend-3.0.0.tgz","_integrity":"sha512-kLuUr4H+4npYaqwyHLjbkOZ+BzjnR6QzwDGtfbXeIoGKGx9UtJ42Km7nLQk8nX0DX+u2CCh9IZi6IQvIt5jTtQ==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.0","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.0_1770113266179_0.2816378850487429","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@agendajs/postgres-backend","version":"3.0.1","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.1","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"60273173ee04b8018559260d51819347320c74cd","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.1.tgz","fileCount":24,"integrity":"sha512-1GtSiLryvr7hZkfjFuMYH/e7Q5OsnT4QUiZXLuL3tey7dowyYMwDI4fqn3XAsF7Hqm1YHShJtfoqOOiajgtaKg==","signatures":[{"sig":"MEUCIQCQAnVx7N9lVGFszTUmlt4jpZOnimQCH/fzogfTdDj11AIgXD17wncvRzOHaVnFYOGP9Zapvv6+701gYaVvTJpYQN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114268},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/e31462be427097278d599df67aa5ee63/agendajs-postgres-backend-3.0.1.tgz","_integrity":"sha512-1GtSiLryvr7hZkfjFuMYH/e7Q5OsnT4QUiZXLuL3tey7dowyYMwDI4fqn3XAsF7Hqm1YHShJtfoqOOiajgtaKg==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.1","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.1"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.1_1770587220077_0.7743641082260577","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@agendajs/postgres-backend","version":"3.0.2","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.2","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"22387af683b3d0f81c36fef957e46e8105512eb7","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.2.tgz","fileCount":24,"integrity":"sha512-jG/+HDI8wcwO+d5PvwATPmccRGjKEqVZI30sytPRnEtgVBn5RezjYN3Ikk1D1e6doA+pxsb5dODUldb1hW2/3Q==","signatures":[{"sig":"MEUCICjfSanMjrafiGeb6PoHOec3prn98xgWtPN/+8g4iXEoAiEAsUBTRe/fAnVpnIPURGmoOu1ge6DBAFMKuFlGwFWIu7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114304},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/060b915a4c25a1800da9678bc38e8731/agendajs-postgres-backend-3.0.2.tgz","_integrity":"sha512-jG/+HDI8wcwO+d5PvwATPmccRGjKEqVZI30sytPRnEtgVBn5RezjYN3Ikk1D1e6doA+pxsb5dODUldb1hW2/3Q==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.2","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.2"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.2_1771022964784_0.8911931058021332","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@agendajs/postgres-backend","version":"3.0.3","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.3","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"1ea0c37339a3b4602be16a089bc1f88302a179f7","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.3.tgz","fileCount":24,"integrity":"sha512-db/HWzf/IWzVUFkz+rI3Tc9ET6cVO45uqUBFrqFaAwkfHQjruNy7Vzjgegz+/503fc9ZJSv6Pg3lYMUXQjNMsw==","signatures":[{"sig":"MEYCIQDEArN8WugJS8NVTUwTkdHoaCO5ZYd6bB6ABAt12Nv8cgIhAL1zOiH0vOiQomfCStfwVEAX/S726mynwWjFE5rGcDXc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114285},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.3.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/7e4cfb02261f408863c6a1860f743ce9/agendajs-postgres-backend-3.0.3.tgz","_integrity":"sha512-db/HWzf/IWzVUFkz+rI3Tc9ET6cVO45uqUBFrqFaAwkfHQjruNy7Vzjgegz+/503fc9ZJSv6Pg3lYMUXQjNMsw==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.6.2","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.13.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.3","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.3"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.3_1771231231079_0.6010997888617613","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@agendajs/postgres-backend","version":"3.0.4","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.4","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"60d11d015253aad9ca5f8199bd41ffd5a0ec7ae9","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.4.tgz","fileCount":24,"integrity":"sha512-cG3eCxs7IehiNjRp8Bj5LwB5xnhemHpmZnJdpljWEJcAHywmJNGEBaRAnHekggTvpVawwVkLmrCSDtaPzr8Flw==","signatures":[{"sig":"MEUCIH9uvuU+w/yAJv4alKOAw7Rjw6e0a/WiN0RzXK33eOy1AiEAzVqEBOVNe5WSkP/ytbDmoc1v3txCHlLNR9PPWRKClvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114638},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.4.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/96a1213e771596a5fd05e43e325f3e13/agendajs-postgres-backend-3.0.4.tgz","_integrity":"sha512-cG3eCxs7IehiNjRp8Bj5LwB5xnhemHpmZnJdpljWEJcAHywmJNGEBaRAnHekggTvpVawwVkLmrCSDtaPzr8Flw==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.9.0","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.14.0","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.4","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.4"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.4_1775143237971_0.8851855927810968","host":"s3://npm-registry-packages-npm-production"}},"3.0.5":{"name":"@agendajs/postgres-backend","version":"3.0.5","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","_id":"@agendajs/postgres-backend@3.0.5","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"homepage":"https://github.com/agenda/agenda#readme","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dist":{"shasum":"1c4b370ae940867156c763d0a9ddb2e721167f4d","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.5.tgz","fileCount":24,"integrity":"sha512-npaeJTg9IMpJFEY1rtrscc60b43xlgcemrCN5Ugwv9rW4N6fCgUDPhi6XmTH4tkhYLrIJNnpPeiF1w2wwPLN2w==","signatures":[{"sig":"MEUCIQCnwx5nmBw5K/R8wClzoz0L8F2BbdrGZkvGHXh5nA2GfgIgEHJKK81z1JiaXV02cJHU2X260pGvh0lLz2QP9fJ2mLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":114638},"main":"dist/index.js","type":"module","_from":"file:agendajs-postgres-backend-3.0.5.tgz","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -b","docker:up":"docker compose up -d --wait","typecheck":"tsc -b && tsc -p tsconfig.test.json","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:watch":"vitest","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down","test:coverage":"vitest run --coverage","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"_resolved":"/tmp/abd14ed7adf1b711ad04daf7385591a2/agendajs-postgres-backend-3.0.5.tgz","_integrity":"sha512-npaeJTg9IMpJFEY1rtrscc60b43xlgcemrCN5Ugwv9rW4N6fCgUDPhi6XmTH4tkhYLrIJNnpPeiF1w2wwPLN2w==","repository":{"url":"git://github.com/agenda/agenda.git","type":"git"},"_npmVersion":"11.11.0","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.13.0","debug":"^4.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","agenda":"6.2.5","vitest":"^3.1.0","@types/pg":"^8.11.0","@types/node":"^22.0.0","@types/debug":"^4.1.12","@vitest/coverage-v8":"^3.1.0"},"peerDependencies":{"agenda":"6.2.5"},"_npmOperationalInternal":{"tmp":"tmp/postgres-backend_3.0.5_1778339377688_0.19137781494606076","host":"s3://npm-registry-packages-npm-production"}},"3.0.6":{"name":"@agendajs/postgres-backend","version":"3.0.6","description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"publishConfig":{"access":"public"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git://github.com/agenda/agenda.git"},"keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"license":"MIT","bugs":{"url":"https://github.com/agenda/agenda/issues"},"dependencies":{"debug":"^4.4.3","pg":"^8.20.0"},"peerDependencies":{"agenda":"6.2.6"},"devDependencies":{"@types/debug":"^4.1.13","@types/node":"^22.19.18","@types/pg":"^8.20.0","@vitest/coverage-v8":"^3.2.4","tsx":"^4.21.0","vitest":"^3.2.4","agenda":"6.2.6"},"scripts":{"build":"tsc -b","typecheck":"tsc -b && tsc -p tsconfig.test.json","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:debug":"DEBUG=agenda:**,-agenda:internal:** vitest run","test:postgres":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest run","test:postgres:watch":"POSTGRES_TEST_URL=postgresql://agenda:agenda@localhost:5432/agenda_test vitest","docker:up":"docker compose up -d --wait","docker:down":"docker compose down","docker:logs":"docker compose logs -f","test:docker":"npm run docker:up && npm run test:postgres; npm run docker:down"},"_id":"@agendajs/postgres-backend@3.0.6","homepage":"https://github.com/agenda/agenda#readme","_integrity":"sha512-jLwyUsmNv9g9IHDFkwY6pBv0TQRP7PexqE7xR+Icb4nf9RJH/5bhGBgfhr1PchyWTrc2t7xdTOCwa1PtFH96/g==","_resolved":"/tmp/1a8b875928467ea5e07839e2079a419b/agendajs-postgres-backend-3.0.6.tgz","_from":"file:agendajs-postgres-backend-3.0.6.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-jLwyUsmNv9g9IHDFkwY6pBv0TQRP7PexqE7xR+Icb4nf9RJH/5bhGBgfhr1PchyWTrc2t7xdTOCwa1PtFH96/g==","shasum":"940c853de00e37be69a892b508faffd446b748a7","tarball":"https://registry.npmjs.org/@agendajs/postgres-backend/-/postgres-backend-3.0.6.tgz","fileCount":24,"unpackedSize":120409,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agendajs%2fpostgres-backend@3.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHRoQUPXNhZqHX9CdbJnSnHmAIWt+tWCyDtb4XwiYbpgAiB6w5OySavfq0M5p7eU33xvRk06QtOu9nAde1OKqZPTKg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8c10f087-4c41-4db2-bbd3-e6cde756b0f5"}},"directories":{},"maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/postgres-backend_3.0.6_1784610261594_0.8032450076175206"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-26T15:54:04.570Z","modified":"2026-07-21T05:04:22.109Z","1.0.0-alpha.0":"2026-01-26T15:54:04.803Z","1.0.0":"2026-01-27T11:45:42.560Z","2.0.0":"2026-01-28T16:30:46.996Z","3.0.0":"2026-02-03T10:07:46.312Z","3.0.1":"2026-02-08T21:47:00.223Z","3.0.2":"2026-02-13T22:49:24.937Z","3.0.3":"2026-02-16T08:40:31.228Z","3.0.4":"2026-04-02T15:20:38.122Z","3.0.5":"2026-05-09T15:09:37.842Z","3.0.6":"2026-07-21T05:04:21.767Z"},"bugs":{"url":"https://github.com/agenda/agenda/issues"},"license":"MIT","homepage":"https://github.com/agenda/agenda#readme","keywords":["agenda","job","scheduler","postgresql","postgres","pg","listen","notify"],"repository":{"type":"git","url":"git://github.com/agenda/agenda.git"},"description":"PostgreSQL backend for Agenda job scheduler with LISTEN/NOTIFY support","maintainers":[{"name":"simllll","email":"s.tretter@gmail.com"}],"readme":"# @agendajs/postgres-backend\n\nPostgreSQL backend for [Agenda](https://github.com/agenda/agenda) job scheduler with LISTEN/NOTIFY support for real-time job processing.\n\n## Features\n\n- Full PostgreSQL storage backend for Agenda jobs\n- Real-time job notifications using PostgreSQL LISTEN/NOTIFY\n- Automatic schema creation with optimized indexes\n- Connection pooling via `pg` library\n- TypeScript support with full type definitions\n\n## Installation\n\n```bash\nnpm install @agendajs/postgres-backend\n# or\npnpm add @agendajs/postgres-backend\n# or\nyarn add @agendajs/postgres-backend\n```\n\n## Usage\n\n### Basic Usage\n\n```typescript\nimport { Agenda } from 'agenda';\nimport { PostgresBackend } from '@agendajs/postgres-backend';\n\n// Create agenda with PostgreSQL backend\nconst agenda = new Agenda({\n  backend: new PostgresBackend({\n    connectionString: 'postgresql://user:pass@localhost:5432/mydb'\n  })\n});\n\n// Define jobs\nagenda.define('send-email', async (job) => {\n  const { to, subject, body } = job.attrs.data;\n  await sendEmail(to, subject, body);\n});\n\n// Start processing\nawait agenda.start();\n\n// Schedule jobs\nawait agenda.every('5 minutes', 'send-email', { to: 'user@example.com', subject: 'Hello', body: 'World' });\nawait agenda.schedule('in 10 minutes', 'send-email', { to: 'other@example.com', subject: 'Hi', body: 'There' });\n```\n\n### Configuration Options\n\n```typescript\nimport { PostgresBackend } from '@agendajs/postgres-backend';\n\nconst backend = new PostgresBackend({\n  // PostgreSQL connection string (required unless pool/poolConfig is provided)\n  connectionString: 'postgresql://user:pass@localhost:5432/mydb',\n\n  // Or use pool configuration (creates a new pool)\n  poolConfig: {\n    host: 'localhost',\n    port: 5432,\n    database: 'mydb',\n    user: 'user',\n    password: 'pass',\n    max: 20 // max pool size\n  },\n\n  // Table name for jobs (default: 'agenda_jobs')\n  tableName: 'agenda_jobs',\n\n  // Channel name for LISTEN/NOTIFY (default: 'agenda_jobs')\n  channelName: 'agenda_jobs',\n\n  // Name to identify this Agenda instance (stored as lastModifiedBy)\n  name: 'worker-1',\n\n  // Whether to create the table and indexes on connect (default: true)\n  ensureSchema: true,\n\n  // Sort order for job queries\n  sort: {\n    nextRunAt: 'asc',\n    priority: 'desc'\n  }\n});\n```\n\n### Using an Existing Pool\n\nIf your application already has a PostgreSQL connection pool, you can pass it directly. The pool will **not** be closed when Agenda disconnects:\n\n```typescript\nimport { Pool } from 'pg';\nimport { PostgresBackend } from '@agendajs/postgres-backend';\n\n// Your app's existing pool\nconst pool = new Pool({ connectionString: 'postgresql://...' });\n\nconst backend = new PostgresBackend({ pool });\n\n// After agenda.stop(), your pool is still usable\n```\n\n## How It Works\n\n### Storage\n\nThe backend stores jobs in a PostgreSQL table with the following structure:\n\n- `id` - UUID primary key\n- `name` - Job name\n- `priority` - Job priority (higher = more urgent)\n- `next_run_at` - When the job should run next\n- `type` - Job type ('normal' or 'single')\n- `locked_at` - Lock timestamp for distributed execution\n- `data` - JSONB payload for job data\n- And other metadata fields...\n\n### Real-Time Notifications\n\nUnlike MongoDB, PostgreSQL has built-in pub/sub via LISTEN/NOTIFY. When a job is saved, a notification is published to all listening Agenda instances, triggering immediate job processing without waiting for the next poll interval.\n\nThis means:\n- Lower latency for job execution\n- Reduced database polling overhead\n- Efficient cross-process coordination\n\n### Distributed Locking\n\nThe backend uses PostgreSQL's `FOR UPDATE SKIP LOCKED` to atomically lock jobs for processing, preventing duplicate execution across multiple Agenda instances.\n\n## Database Indexes\n\nWhen `ensureSchema: true` (default), the following indexes are created:\n\n```sql\n-- Main index for finding and locking next job\nCREATE INDEX agenda_jobs_find_and_lock_idx\n  ON agenda_jobs (name, next_run_at, priority DESC, locked_at, disabled)\n  WHERE disabled = FALSE;\n\n-- Index for single jobs (upsert operations)\nCREATE UNIQUE INDEX agenda_jobs_single_job_idx\n  ON agenda_jobs (name) WHERE type = 'single';\n\n-- Index for locked_at (stale lock detection)\nCREATE INDEX agenda_jobs_locked_at_idx\n  ON agenda_jobs (locked_at) WHERE locked_at IS NOT NULL;\n\n-- Index for next_run_at queries\nCREATE INDEX agenda_jobs_next_run_at_idx\n  ON agenda_jobs (next_run_at) WHERE next_run_at IS NOT NULL;\n```\n\n## Job Logging\n\nPostgresBackend includes a built-in `PostgresJobLogger` that stores structured job lifecycle events in a dedicated table (`agenda_logs` by default). The logger is lightweight and only creates its table on first use.\n\n### Automatic Usage\n\nWhen you enable logging in Agenda, the backend's built-in logger is used automatically:\n\n```typescript\nconst agenda = new Agenda({\n  backend: new PostgresBackend({ connectionString: 'postgresql://...' }),\n  logging: true  // Uses PostgresJobLogger automatically\n});\n```\n\n### Standalone Usage\n\nYou can also use `PostgresJobLogger` independently — for example, to log to PostgreSQL while using a different backend for storage:\n\n```typescript\nimport { PostgresJobLogger } from '@agendajs/postgres-backend';\nimport { Pool } from 'pg';\n\nconst logger = new PostgresJobLogger({\n  pool: new Pool({ connectionString: 'postgresql://...' }),\n  logTableName: 'agenda_logs'       // Optional: table name (default: 'agenda_logs')\n});\n\n// Use with any backend\nimport { MongoBackend } from '@agendajs/mongo-backend';\nconst agenda = new Agenda({\n  backend: new MongoBackend({ mongo: db }),\n  logging: logger\n});\n```\n\nSee the [Agenda README](https://github.com/agenda/agenda#persistent-job-logging) for full logging documentation.\n\n## Manual Schema Management\n\nIf you prefer to manage the schema yourself (set `ensureSchema: false`):\n\n```typescript\nimport { getCreateTableSQL, getCreateIndexesSQL } from '@agendajs/postgres-backend';\n\nconst tableName = 'agenda_jobs';\n\n// Create table\nawait pool.query(getCreateTableSQL(tableName));\n\n// Create indexes\nfor (const sql of getCreateIndexesSQL(tableName)) {\n  await pool.query(sql);\n}\n```\n\n## Testing\n\nTests require a PostgreSQL database. The easiest way is to use Docker:\n\n```bash\n# Start PostgreSQL container and run tests\npnpm test:docker\n\n# Or manually:\npnpm docker:up        # Start PostgreSQL container\npnpm test:postgres    # Run tests\npnpm docker:down      # Stop container\n```\n\nYou can also use an existing PostgreSQL database:\n\n```bash\nPOSTGRES_TEST_URL=postgresql://user:pass@localhost:5432/agenda_test pnpm test\n```\n\n### Available Scripts\n\n| Script | Description |\n|--------|-------------|\n| `pnpm test` | Run tests (requires PostgreSQL or Docker) |\n| `pnpm test:postgres` | Run tests with local Docker PostgreSQL |\n| `pnpm test:docker` | Start container, run tests, stop container |\n| `pnpm docker:up` | Start PostgreSQL container |\n| `pnpm docker:down` | Stop PostgreSQL container |\n| `pnpm docker:logs` | View container logs |\n\n## Requirements\n\n- Node.js >= 18.0.0\n- PostgreSQL >= 12 (for `gen_random_uuid()` support)\n- Agenda >= 6.0.0\n\n## License\n\nMIT\n","readmeFilename":"README.md"}