{
  "slug": "fly-mpg-database-extensions-list-enable-and-disable-commands-898ca75be6a3",
  "title": "fly mpg database extensions list, enable, and disable commands",
  "tools": [
    "flyctl"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-07-08T19:40:14.000Z",
  "announced_at": "2026-07-08T19:40:14.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When managing extensions on an MPG cluster from a non-interactive workflow, use the documented list, enable, or disable command for the target database. The current official CLI docs use `databases` in the command path; the card and release note use `database`, so verify the installed CLI’s syntax before running it.",
    "examples": [
      "fly mpg databases extensions list <CLUSTER_ID> [flags]",
      "fly mpg databases extensions enable <EXTENSION> --cluster <CLUSTER_ID> --database <DATABASE> [--schema <SCHEMA>] [--create-schema]",
      "fly mpg databases extensions disable <EXTENSION> --cluster <CLUSTER_ID> --database <DATABASE> [--force]"
    ],
    "gotchas": [
      "Version: v0.4.68",
      "<CLUSTER_ID> (required): Target cluster ID for `list`.",
      "--database, -d: Target database within the cluster; listed as an option for `list`.",
      "--json, -j: Output list results as JSON.",
      "<EXTENSION> (required): Postgres extension to enable or disable.",
      "--cluster, -c (required): Target cluster ID for enable or disable.",
      "--database, -d (required): Target database within the cluster for enable or disable.",
      "--schema: Schema in which to create the extension; default is `public`.",
      "--create-schema: Create the schema if it does not exist.",
      "--force: Drop dependent objects as well (`CASCADE`) when disabling.",
      "--access-token, -t: Fly API access token global option.",
      "Prerequisite: Use a flyctl version that includes the commands; release v0.4.68 added them.",
      "Prerequisite: For enable or disable, authenticate with a Fly API access token; docs list `--access-token` as a global option.",
      "Applies to new V2 clusters and existing V1 clusters.",
      "Docs conflict: Card and release note use `fly mpg database extensions ...`; current official CLI docs document `fly mpg databases extensions ...` (plural). The official v0.4.68 source is at https://github.com/superfly/flyctl/blob/v0.4.68/internal/command/mpg/extensions.go, but the retrieved source page did not expose command usage text."
    ]
  },
  "why_it_matters": "Manage extensions on a Managed Postgres cluster from a non-interactive workflow such as CI.",
  "before": "The release note says extensions could previously only be enabled via the dashboard.",
  "sources": [
    "https://github.com/superfly/flyctl/releases/tag/v0.4.68",
    "https://github.com/superfly/flyctl/pull/4983",
    "https://fly.io/docs/flyctl/mpg-databases-extensions-list/",
    "https://fly.io/docs/flyctl/mpg-databases-extensions-enable/",
    "https://docs.fly.io/flyctl/cmd/fly_mpg_databases_extensions_disable"
  ],
  "rank": 0.98034,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave1b-20261016",
    "verdict_id": "wave1b-20261016:wave1b-20261016-e8eec45dddcf664e-0:gate",
    "evidence_hash": "37b078642e58aaa3931b1fbbe669b782a62a98b70a3a4e025c83e5bad155f6ea"
  },
  "review": {
    "draft_hash": "4613f1756fb19bb3c869d8dea9177eb434b0dfe8e527f5e8519c3573712cc9d4",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave1b-20261016:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.98 >= 0.9; 2 needed) and Jev gave 0.73 (>= 0.6 needed)."
  }
}
