Skip to content

Fix PG19 CDC catalog access - #8740

Open
ibrahim halatci (ihalatci) wants to merge 2 commits into
pg19-supportfrom
ihalatci-fix-pg19-cdc-catalogs
Open

Fix PG19 CDC catalog access#8740
ibrahim halatci (ihalatci) wants to merge 2 commits into
pg19-supportfrom
ihalatci-fix-pg19-cdc-catalogs

Conversation

@ihalatci

Copy link
Copy Markdown
Contributor

Summary

  • mark only pg_dist_partition, pg_dist_shard, and pg_dist_local_group as user_catalog_table=true for PostgreSQL 19 logical decoding
  • preserve those reloptions across downgrade so Citus CDC remains usable while PostgreSQL stays on 19
  • document the paired downgrade as an intentional no-op; no unrelated metadata is marked

Validation

  • PostgreSQL 19 focused CDC 001/002/003/005/006: 16 tests passed
  • PostgreSQL 19 14.x -> 15 -> 14.x cycle retained all three reloptions; CDC insert/update/delete/truncate passed after downgrade; re-upgrade and subsequent decoding passed
  • PostgreSQL 17.10 focused CDC 001/002/003/005/006: 16 tests passed
  • PostgreSQL 18.4 focused CDC 001/002/003/005/006: 16 tests passed
  • multi_extension: passed
  • migration pairing and generated-artifact audits: passed

Closes #8735

Mark only the Citus metadata tables scanned by CDC as user catalogs so PostgreSQL historic-snapshot scans permit logical decoding. Reset the reloptions in the paired downgrade.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c2bf82e3-9847-44a5-ae4c-dfb470f68e4f
Keep the PostgreSQL 19 logical-decoding compatibility reloptions when downgrading Citus. The paired migration comment documents why no reverse SQL is appropriate.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c2bf82e3-9847-44a5-ae4c-dfb470f68e4f
@codecov

codecov Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.79%. Comparing base (ff8f1f8) to head (f6aca4f).

Additional details and impacted files
@@               Coverage Diff                @@
##           pg19-support    #8740      +/-   ##
================================================
- Coverage         88.80%   88.79%   -0.02%     
================================================
  Files               288      288              
  Lines             64416    64416              
  Branches           8100     8102       +2     
================================================
- Hits              57206    57199       -7     
- Misses             4873     4878       +5     
- Partials           2337     2339       +2     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PG19: mark Citus metadata catalogs accessible during logical decoding

2 participants