{"adoption": {"forks": 316, "observed_at": "2026-08-28T04:07:22.425767+00:00", "stars": 2797}, "canonical_url": "https://ross.abutalabs.com/products/pg_partman", "card": {"archived": false, "artifact_type": "library", "description": "Partition management extension for PostgreSQL", "domain": ["databases", "developer-tools"], "enriched": true, "function": ["database", "scheduling", "developer-tools"], "health_score": 99, "homepage": null, "language": "PLpgSQL", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["pgpartman/pg_partman"], "name": "pgpartman/pg_partman", "platform": ["self-hosted"], "pushed_at": "2026-08-21T20:48:55+00:00", "repo": "pgpartman/pg_partman", "stars": 2797, "tags": ["postgresql-extension", "table-partitioning", "declarative-partitioning", "background-worker", "plpgsql", "retention-policy", "data-engineering", "postgresql", "linux"], "topics": ["partitioning", "plpgsql", "pg-partition-manager", "background-worker", "postgresql", "postgresql-extension"], "urls": [], "use_cases": ["automatically create and drop time-based partitions in postgres", "manage partition retention policies for large tables", "convert an existing table into a partitioned table", "run partition maintenance without cron using a background worker", "set up numeric range partitioning for postgres tables", "migrate legacy trigger-based partitioning to declarative partitioning"], "what_it_is": "pg_partman is a PostgreSQL extension that creates and manages time-based and number-based table partition sets using built-in declarative partitioning. It automates partition maintenance such as creating new child tables and dropping old ones via retention policies, including a background worker that runs maintenance without an external scheduler.", "when_to_avoid": ["you use a database other than postgresql", "you need trigger-based (pre-10) partitioning methods, which are deprecated", "your tables are small enough that partitioning adds unnecessary complexity"], "when_to_choose": ["you need automated creation and retirement of postgres table partitions over time", "you want declarative partitioning with retention policies and minimal external scheduling", "you are migrating large existing tables to partitioned layouts in postgres"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pg_partman", "repo": "pgpartman/pg_partman", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "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:22.425767+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:22.425767+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:49:11.894982+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d2ff366ecb7a28e0b6cd2f4521fd76fd28f11aa12241b8cd6e28dacdd2330c43", "fetched_at": "2026-08-28T04:07:22.425767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pgpartman/pg_partman"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 94}, "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": 5110, "days_push": 12, "days_rel": 42, "gap_med": 15, "n_releases_24m": 12}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}