Repository navigation
PostgreSQL 19 support in packaging images #1209
Copy link
Copy link
Open
Description
Tracking issue for PostgreSQL 19 support in the packaging build images.
Current state
Initial support is being added in #1203:
- deb (
templates/Dockerfile-deb.tmpl+ generateddockerfiles/*-all/Dockerfile): the extra19component is appended to the PGDG apt source line (deb http://apt.postgresql.org/pub/repos/apt/ <release>-pgdg main 19), build deps switched topostgresql-server-dev-19, andDEB_PG_SUPPORTED_VERSIONSextended to14 15 16 17 18 19. - rpm (
templates/Dockerfile-rpm.tmpl+dockerfiles/almalinux-9-pg19/): thepgdg19-updates-testingrepo is enabled viasedonpgdg-redhat-all.repo, because the GA repo (pub/repos/yum/19/redhat/...) does not exist yet. - version lists:
19added toupdate_dockerfiles,update_image, andci/push_images. - CI matrices: PG19 is added as a one-off
includeentry (almalinux,9only) inbuild-package.yml,build-package-test.yml, andimage-health-check.yml, rather than in the mainPOSTGRES_VERSIONcross-product list.
Nothing pins a specific beta (beta1/beta2/beta3); packages are installed unpinned, so a rebuild always picks up the newest 19 build PGDG publishes.
Known limitations while PG19 is pre-GA
- No EL8 packages. PGDG publishes no PostgreSQL 19 RPMs for EL8 —
testing/19/redhat/rhel-8-x86_64/is empty whilerhel-9-x86_64/is populated.update_dockerfiles,update_image, andci/push_imagestherefore guard againstrelease=8+pgversion=19, and this is also why PG19 is anincludeentry in the CI matrices instead of being in the main list (the cross-product would otherwise pull inalmalinux,8andoraclelinux,8). - Beta packages come from the testing channel. The RPM images depend on
pgdg19-updates-testing; the deb images depend on the version-specific19component of the pgdg archive. Both are pre-GA mechanisms.
TODOs after PostgreSQL 19 GA
- rpm — drop the testing repo enable. Remove the
sed -i '/\[pgdg19-updates-testing\]/...'line fromtemplates/Dockerfile-rpm.tmpland thepg19_sed_cmdconditional fromupdate_dockerfiles, then regenerate with./update_dockerfiles. Verifyhttps://download.postgresql.org/pub/repos/yum/19/redhat/rhel-9-x86_64/exists first (it currently 404s). - deb — drop the extra
19component. Revert the pgdg source line intemplates/Dockerfile-deb.tmplback to... <release>-pgdg mainonce PG19 packages land in the defaultmaincomponent, then regenerate. - Re-check EL8 availability. If PGDG ships PG19 for EL8 at GA, remove the
release=8guards inupdate_dockerfiles,update_image, andci/push_images, and generate thealmalinux-8-pg19/oraclelinux-8-pg19images. If EL8 remains unsupported (likely, given EL8 is near EOL), keep the guards and leave a short comment recording that it is permanent. - Fold PG19 into the main CI matrices. Once the EL8 question is settled, move
19from theincludeblock into thePOSTGRES_VERSIONlist inbuild-package.yml,build-package-test.yml, andimage-health-check.yml(or keep theincludeif EL8 stays excluded). - Rebuild and push images so the published
citus/packagingtags carry GA PostgreSQL 19 rather than a beta build. - Extend PG19 to the remaining RPM platforms if PGDG coverage grows beyond EL9 (e.g. EL10) by the time of GA.
- Update the release-side PostgreSQL version matrix (
postgres-matrix.ymlon theall-citusbranch) once Citus itself declares PG19 support, so packages are actually built against PG19.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity