Skip to content

Update PostgreSQL 19 CI to RC1 - #8929

Merged
ibrahim halatci (ihalatci) merged 3 commits into
mainfrom
ihalatci-postgresql-19-rc1
Oct 16, 2026
Merged

ibrahim halatci (ihalatci) merged 3 commits into
mainfrom
ihalatci-postgresql-19-rc1

Conversation

@ihalatci

@ihalatci ibrahim halatci (ihalatci) commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

DESCRIPTION: Update PostgreSQL 19 CI and regression coverage to RC1

Update build, nightly cassert, and pg_upgrade image pins to the published PostgreSQL 19 RC1 release images from merged citusdata/the-process#253 (image suffix -va0a5582). The stable image publication succeeded for merge commit a0a5582b39e72cec476f7b6ba37a2cf97572b930 in the-process build-test-images run. Preserve the existing exclusion of PG19 from Citus upgrade coverage.

Add a distributed ON CONFLICT regression for PostgreSQL's fix to inference when an index expression on a NOT NULL column simplifies to a Var (upstream commit). No Citus source change was indicated: the regression fails on PostgreSQL 19 Beta 4 and passes on RC1.

RC1 feature audit

The audited upstream range is REL_19_BETA4 (b73d13c32c834a2c8e1c60cb92f79530376cedf1) through REL_19_RC1 (0b8bff042a997fe50fcd1c4c83b9ef1cc9ed8a89): 132 commits and 300 changed paths, with no feature-revert commit.

The Citus umbrella features remain present in RC1:

The approved dependent topology is:

Version-neutral #8759 and #8762 are no longer subissues of #8782.

PostgreSQL RC2 is scheduled for 2026-11-12 and GA for 2026-11-19. RC2 must be rechecked for the open upstream eager-aggregation and CHECK-enforcement items before final PG19 feature completion.

Validation

Local validation on PostgreSQL 19 RC1: pg19 (7/7), multi_upsert (7/7), multi_insert_select_conflict (7/7), multi_copy (15/15), multi_outer_join (7/7), multi_deparse_shard_query (7/7), multi_deparse_function (7/7), and multi_join_order_additional (16/16, with base schedule and whole schedule line). merge also passed on Beta 4 after installing the missing postgres_fdw test dependency.

The repartition planning/pruning/task-assignment debug task-ID output differences reproduce on both Beta 4 and RC1; no expected output was changed for them.

The prior Citus head 7259ac9c94e9a6595eac092b18afc47b69197d4a passed all automatic checks. This suffix-only update switches CI to the successfully published stable RC1 images; checks for the current head will run after this update.

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

Copilot-Session: f2aeb1f7-5872-4dc8-a288-2bdafcf80c04
@codecov

codecov Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.81%. Comparing base (bcf4bfd) to head (edfc2db).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8929      +/-   ##
==========================================
+ Coverage   88.79%   88.81%   +0.01%     
==========================================
  Files         290      290              
  Lines       65455    65455              
  Branches     8255     8255              
==========================================
+ Hits        58124    58135      +11     
+ Misses       4947     4937      -10     
+ Partials     2384     2383       -1     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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

Copilot-Session: f2aeb1f7-5872-4dc8-a288-2bdafcf80c04
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: f2aeb1f7-5872-4dc8-a288-2bdafcf80c04
@ihalatci
ibrahim halatci (ihalatci) marked this pull request as ready for review October 16, 2026 10:45

@colm-mchugh Colm (colm-mchugh) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, good to merge once CI is all green.

@colm-mchugh Colm (colm-mchugh) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm, good to merge once CI is all green.

@ihalatci
ibrahim halatci (ihalatci) merged commit c7634e3 into main Oct 16, 2026
163 checks passed
@ihalatci
ibrahim halatci (ihalatci) deleted the ihalatci-postgresql-19-rc1 branch October 16, 2026 11:15
ibrahim halatci (ihalatci) added a commit that referenced this pull request Oct 23, 2026
PG19 RC1: match PostgreSQL's ShareUpdateExclusiveLock for REPACK
(CONCURRENTLY), avoiding a preprocessing lock escalation that can mask
the
unsupported distributed-table error or hang repack on a local table.

Native stack layer 2: #8929 -> #8805 -> #8807.

Validation (Ubuntu 22.04 WSL under `/home/ihalatci/Development`):

- `PG_CONFIG=.../postgresql-install/bin/pg_config ./configure && make
-j8 && make install` with PostgreSQL 19rc1: passed.
- `PATH=.../postgresql-install/bin:$PATH
src/test/regress/citus_tests/run_test.py pg19`: all 7 tests passed,
including `pg19`.
- `PG_CONFIG=~/.pgenv/pgsql-17.10/bin/pg_config ./configure && make
-j8`: passed.
- `PG_CONFIG=~/.pgenv/pgsql-18.4/bin/pg_config ./configure && make -j8`:
passed.
- `citus_indent --check --quiet`: passed.
- `git diff --check 7259ac9..HEAD`:
passed.
- `make check-style`: `black` and `isort` passed; `flake8` reached
pre-existing naming violations in unchanged Python files, unrelated to
this C/SQL-only diff.

Fixes #8756

Co-authored-by: Ibrahim Halatci <ihalatci@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 61c1aeb4-1b56-4313-a35e-d65b59a557de
ibrahim halatci (ihalatci) added a commit that referenced this pull request Oct 23, 2026
Propagate PostgreSQL 19 RC1 EXPLAIN IO to worker nodes.

## Stack

Native stack layer 3: #8929 -> #8805 -> #8807

This PR is based on `ihalatci-pg19-repack-lock-fix` at
`805849c8ed7b3fa5e77edf289c5e2b159b4bb529`.

## Changes

- Propagate `ExplainState.io` to worker EXPLAIN commands on PostgreSQL
19+.
- Preserve `INSTRUMENT_IO` through the saved-plan EXPLAIN ANALYZE path.
- Cover both saved-plan and live remote-EXPLAIN paths in `pg19`
regression tests.
- Keep PostgreSQL 17/18 behavior unchanged through existing version
guards.

The diff relative to #8805 is limited to:

- `src/backend/distributed/planner/multi_explain.c`
- `src/test/regress/bin/normalize.sed`
- `src/test/regress/sql/pg19.sql`
- `src/test/regress/expected/pg19.out`

## Validation

- PostgreSQL 19rc1 Citus configure, build, and install: passed.
- `src/test/regress/citus_tests/run_test.py pg19`: passed (7/7).
- `src/test/regress/citus_tests/run_test.py multi_explain`: passed
(16/16).
- `src/test/regress/citus_tests/run_test.py multi_mx_explain`: passed
(10/10).
- PostgreSQL 17.10 configure/build: passed.
- PostgreSQL 18.4 configure/build: passed.
- `citus_indent --check`: passed.
- `ci/editorconfig.sh`: passed.
- `git diff --check`: passed.
- `make check-style`: repository-baseline flake8 failures only;
reproduced
  unchanged on #8805. The changed C file and editorconfig checks pass.

Fixes #8770

---------

Co-authored-by: Ibrahim Halatci <ihalatci@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6481a75c-8b50-4476-832e-fbe9e4fb1196
Copilot-Session: 3964bc45-9e47-4861-9c6c-a31d8e900ea0
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.

3 participants