Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick pg upgrade work #964

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Cherry-pick pg upgrade work #964

wants to merge 7 commits into from

Conversation

reshke
Copy link
Contributor

@reshke reshke commented Feb 26, 2025

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • Bug fix (non-breaking change)
  • New feature (non-breaking change)
  • Breaking change (fix or feature with breaking changes)
  • Documentation update

Breaking Changes

Test Plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Passed make installcheck
  • Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


@reshke reshke added the cherry-pick cherry-pick upstream commts label Feb 26, 2025
bmomjian and others added 7 commits February 26, 2025 06:19
Note: Same change made to version_gp.c

Previously, the "Database:" label in the error file was unclear if the
label was a status report or the problem was _in_ the database.  New
text is "In database:".

Reported-by: Justin Pryzby

Discussion: https://postgr.es/m/[email protected]

Backpatch-through: head
(cherry picked from commit 1634d36)
No need to call exit() after pg_fatal().  Clean up a few stragglers
for consistency.

(cherry picked from commit 3b5d372)
This clarifies instructions on how to dump/reload databases that use
incompatible isn versions.

Reported-by: Alvaro Herrera

Discussion: https://postgr.es/m/[email protected]

Reviewed-by: Daniel Gustafsson <[email protected]>

Backpatch-through: 13
(cherry picked from commit f0b57ae)
Previously these error paragraphs were too wide.

Backpatch-through: 13
(cherry picked from commit 60b35b7)
To test pg_upgrade across major PG versions, we have to be able to
modify or drop any old objects with no-longer-supported properties,
and we have to be able to deal with cosmetic changes in pg_dump output.
Up to now, the buildfarm and pg_upgrade's own test infrastructure had
separate implementations of the former, and we had nothing but very
ad-hoc rules for the latter (including an arbitrary threshold on how
many lines of unchecked diff were okay!).  This patch creates a Perl
module that can be shared by both those use-cases, and adds logic
that deals with pg_dump output diffs in a much more tightly defined
fashion.

This largely supersedes previous efforts in commits 0df9641d3,
9814ff550, and 62be9e4cd, which developed a SQL-script-based solution
for the task of dropping old objects.  There was nothing fundamentally
wrong with that work in itself, but it had no basis for solving the
output-formatting problem.  The most plausible way to deal with
formatting is to build a Perl module that can perform editing on the
dump files; and once we commit to that, it makes more sense for the
same module to also embed the knowledge of what has to be done for
dropping old objects.

Back-patch versions of the helper module as far as 9.2, to
support buildfarm animals that still test that far back.
It's also necessary to back-patch PostgreSQL/Version.pm,
because the new code depends on that.  I fixed up pg_upgrade's
002_pg_upgrade.pl in v15, but did not look into back-patching
it further than that.

Tom Lane and Andrew Dunstan

Discussion: https://postgr.es/m/[email protected]
(cherry picked from commit 0e4d38100acb90d93e68694674050f4cebdd816a)
Replace all of the XXX, TODO, FIXME etc. in the
pg_upgrade code with GPDB_UPGRADE_FIXME to make
it easier to keep track of them.
old_GPDB6_check_for_unsupported_sha256_password_hashes
referenced a different function in the comment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-pick cherry-pick upstream commts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants