Skip to content

PG19 Beta3: adapt COPY regressions to psql input draining - #8785

Open
ibrahim halatci (ihalatci) wants to merge 1 commit into
pg19-supportfrom
ihalatci-pg19-copy-8781
Open

PG19 Beta3: adapt COPY regressions to psql input draining#8785
ibrahim halatci (ihalatci) wants to merge 1 commit into
pg19-supportfrom
ihalatci-pg19-copy-8781

Conversation

@ihalatci

@ihalatci ibrahim halatci (ihalatci) commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Summary

PostgreSQL 19 Beta3 psql commit d6ab88d changed how input is drained after an early server-side COPY rejection. The affected regression tests could consequently consume following SQL as COPY data or otherwise desynchronize their scripts.

  • derive an exact PostgreSQL 19 Beta3+ gate from the invoking psql client's VERSION_NUM and VERSION_NAME, including whitespace-suffixed packaged version names
  • retain the original COPY commands for PostgreSQL 19 Beta1/Beta2 and PostgreSQL 16-18
  • use zero-row \copy ... FROM PROGRAM 'true' only for PG19 Beta3+/RC/final early-failure paths
  • preserve all data-bearing COPY semantics and assertions
  • use ordinary complete pg_regress alternative expected files; canonical expected files remain byte-for-byte unchanged
  • keep the intermediate_results child psql COPY and CREATE as two -c commands in one -1 transaction
  • avoid custom launchers, comparators, global normalization, and PG19 Beta3: make COPY failure regressions resilient to psql input draining #8780 files

Affected schedules

  • check-multi
  • check-multi-1
  • check-multi-1-create-citus
  • check-enterprise
  • check-follower-cluster

Validation

  • PostgreSQL 19 Beta3: all touched coverage and all five owning schedules pass (33 / 8 / 194 / 211 / 35)
  • PostgreSQL 19 Beta2: all touched coverage and all five owning schedules pass (33 / 8 / 194 / 211 / 35); the validation-only GUC edit was restored byte-for-byte
  • PostgreSQL 18.4, 17.10, and 16.14 previously passed all five owning schedules through the byte-identical legacy branch
  • the final suffix-only gate broadening changed only the echoed gate line and acceptance of packaged PG19 client names; exact-current-tip local matrix reruns are queued behind the shared fixed-port validation window
  • GitHub CI has restarted on the suffix-safe tip and is still running; evaluate its final state before merge

Closes #8781

@ihalatci

Copy link
Copy Markdown
Contributor Author

Release-review blocker: the current end-anchored VERSION_NAME regex rejects valid PG19 clients built with --with-extra-version/packager suffixes (for example 19beta3 (Ubuntu ...) or 19.0 (Debian ...)), selecting the legacy COPY path. A corrective client-version gate and suffix matrix are in progress.

@codecov

codecov Bot commented Aug 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.75%. Comparing base (866ab1b) to head (2d3b915).

Additional details and impacted files
@@               Coverage Diff                @@
##           pg19-support    #8785      +/-   ##
================================================
+ Coverage         88.69%   88.75%   +0.05%     
================================================
  Files               289      289              
  Lines             65062    65065       +3     
  Branches           8200     8201       +1     
================================================
+ Hits              57709    57746      +37     
+ Misses             4984     4955      -29     
+ Partials           2369     2364       -5     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Use psql's exact client version to select the PG19 beta3 and later COPY behavior while retaining legacy COPY commands for beta1, beta2, and PostgreSQL 16-18.

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

Copilot-Session: 809b79c3-b004-47c3-8e1d-4ba1af5b9eb5
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 Beta3: adapt COPY regressions to psql failed-input draining

2 participants