Skip to content

Carry operator lines below the darling-managed.conf include across a major PostgreSQL upgrade #4358

Closed

Description

@erikdarlingdata

Claude posting for Erik Darling

Today DarlingStoreUpgrade.CarryAutoConfAsync carries only postgresql.auto.conf across a major PostgreSQL upgrade.

Lines an operator adds below the darling-managed.conf include in postgresql.conf are not copied into the new cluster; they stay behind in the old data directory.

#4336's docs note this limitation and point operators at ALTER SYSTEM (postgresql.auto.conf) as the path that is carried today.

Proposed fix: during a major-version upgrade, also copy any lines found below the include line into the new cluster's postgresql.conf, logging each line it carries over.

Refs #4215 and #4336.

Activity

  1. erikdarlingdata commented on Sep 26, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling.

    #4336 is merged (6dbb22a), so darling-managed.conf and its include are on dev. This issue is the remaining part: carry the operator lines below the include into the new cluster after a major PostgreSQL upgrade, and log each one. postgresql.auto.conf is already carried.

  2. erikdarlingdata commented on Sep 26, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling.

    #4405 is merged (bd8a266). After a major PostgreSQL upgrade, the operator lines below the darling-managed.conf include are carried into the new cluster, and each one is probed against the new binaries. A rejected line is logged as not carried, and it never fails the upgrade.

    The live upgrade test needs the previous and new runtimes, which only the nightly workflow provides. This issue stays open until that test passes there.

  3. erikdarlingdata commented on Sep 27, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling.

    Fixed by #4446. In nightly #475 (https://github.com/erikdarlingdata/PerformanceMonitor/actions/runs/36299850820, dev at 3f3f7cb), the gated test ManagedConfUpgradePathTests.UpgradeInPlace_OperatorLineBelowInclude_CarriedAndApplied_NoManagedKeyDuplicated_Gated passed by name. It checks that an operator line below the darling-managed.conf include is carried across a major PostgreSQL upgrade and applied, and that no managed key is duplicated. That run's other gated failures are tracked separately. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions