{"adoption": {"forks": 75, "observed_at": "2026-08-28T04:07:21.953454+00:00", "stars": 2788}, "canonical_url": "https://ross.abutalabs.com/products/pg_durable", "card": {"archived": false, "artifact_type": "library", "description": "PostgreSQL in-database durable execution", "domain": ["databases", "backend", "artificial-intelligence", "developer-tools"], "enriched": true, "function": ["database", "workflow-automation", "scheduling", "message-queue", "concurrency"], "health_score": 100, "homepage": "https://microsoft.github.io/pg_durable/", "language": "Rust", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["microsoft/pg_durable"], "name": "microsoft/pg_durable", "platform": ["windows", "self-hosted", "cloud"], "pushed_at": "2026-08-26T20:25:12+00:00", "repo": "microsoft/pg_durable", "stars": 2788, "tags": ["durable-execution", "durable-functions", "durable-workflows", "postgresql-extension", "sql-dsl", "checkpointing", "crash-recovery", "background-worker", "ai-pipelines", "vector-embedding-pipelines", "pgvector", "workflow-orchestration", "retry-logic", "fan-out-aggregation", "scheduled-maintenance", "no-external-services", "azure-horizondb", "rust", "postgres-17", "postgres-18", "data-engineering", "automation", "postgresql", "linux", "macos", "docker"], "topics": ["durable-execution", "durable-functions", "durable-workflows", "postgresql", "ai-pipelines", "ai-workflows"], "urls": [], "use_cases": ["run crash-proof background workflows directly in postgres without external orchestrators", "build vector embedding pipelines that chunk documents and upsert into pgvector", "replace pg_cron plus job queue tables and polling workers with durable sql functions", "schedule maintenance runbooks that survive database restarts and are auditable in sql", "fan out parallel sql queries and join results with automatic checkpointing", "orchestrate external api calls like enrichment and classification from sql workflows", "resume failed multi-step data ingestion pipelines from the last checkpoint", "add retries and conditional branching to long-running sql jobs"], "what_it_is": "pg_durable is a PostgreSQL extension that provides durable execution for long-running, fault-tolerant SQL functions directly inside the database. It lets teams define workflows as graphs of SQL steps that are automatically checkpointed and resumed after crashes, restarts, or failed steps, eliminating the need for external orchestrators, cron jobs, or custom job-queue plumbing.", "when_to_avoid": ["you need workflows spanning multiple heterogeneous systems beyond postgres", "you prefer a general-purpose orchestrator with a rich ui like airflow or temporal", "your postgres version is older than 17", "you need language-level workflow code rather than a sql dsl"], "when_to_choose": ["your state already lives in postgres and you want workflows next to the data", "you are stitching together cron jobs, workers, queues, and status tables for background work", "you need durable execution without deploying extra service infrastructure like containers or external orchestrators", "you are building data or ai pipelines that need per-row, per-document, or per-batch durability", "you are a dba or sre automating runbooks that must survive restarts and be auditable in sql"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pg_durable", "repo": "microsoft/pg_durable", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.953454+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:15:59.526740+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f297b44be4216e5e035a2de9f5cb08e106db5bb1de810f37a3aa6cff89c15a68", "fetched_at": "2026-08-28T04:07:21.953454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/pg_durable"}, {"content_hash": "62102120f1f4b384d4a922bbb7e83386e4b5983564af531218d2954f5fb85855", "fetched_at": "2026-08-29T09:55:07.573467+00:00", "kind": "homepage", "missing": false, "url": "https://microsoft.github.io/pg_durable/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 14, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 201, "days_push": 7, "days_rel": 10, "gap_med": 15.5, "n_releases_24m": 5}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}