- Notifications
You must be signed in to change notification settings - Fork1.2k
chore: add postgres 18 beta1#1344
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
chore: add postgres 18 beta1#1344
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Did you update this via
We've been pinned to LLVM 19 for all versions where we could for quite a while, so we just didn't change that. I went looking for a "recommended LLVM version" from upstream, and wasn't able to find one; the best I found washttps://www.postgresql.org/docs/18/install-make.html#CONFIGURE-WITH-LLVM
(and that minimum is lower on other versions) My understanding of LLVM compatibility is that thereare often compatibility issues when using newer versions (and that's part of why Debian's struggled so much with LLVM versions for the Trixie release, for example, and the fact that Alpine has so many versions in this latest release:https://pkgs.alpinelinux.org/packages?name=llvm%5B0-9%5D%5B0-9%5D&branch=v3.22&arch=x86_64 - all of 15-20), so I'd be hesitant to bump this withoutsome evidence that it's probably fine to do so. |
After update/versions.sh created the 18 entry, I double-checked the repo and added s390x manually, as I wrote. |
See Lines 116 to 118 in86e5040
s390x manually won't work (it'll fail at build time, not to mention@docker-library-bot immediately reverting that change post-merge). |
I removed s390x. |
yosifkit commentedJun 2, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
After some digging, the test failure is fromthis line: ++ echo 'SET jit = on; SELECT pg_jit_available();'++ psql++ docker run --rm -i --link postgres-container-2708-10581:postgres --entrypoint psql -e 'PGPASSWORD=my cool postgres password' postgres:18-test --host postgres --username 'my cool postgres user' --dbname 'my cool postgres database' --quiet --no-align --tuples-only+ '[' f = t ']' And the "problem" is that + apt-get install -y --no-install-recommends postgresql-18=18~beta1-1.pgdg120+1...Recommended packages: krb5-locales ca-certificates postgresql-18-jit sysstat So, we can either change the test to skip it for 18 or install the $docker run -it --rm postgres:18-test bashroot@d80424019501:/#apt update...root@d80424019501:/#apt install postgresql-18-jit...The following additional packages will be installed: libbsd0 libedit2 libllvm19 libz3-4The following NEW packages will be installed: libbsd0 libedit2 libllvm19 libz3-4 postgresql-18-jit0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.Need to get 43.2 MB of archives.After this operation, 178 MB of additional disk space will be used. My vote is to not include |
I created a test fallback, on Alpine or if postgresql-18-jit has been installed then |
But this has to be documented, many users will expect a "full" Postgres image. |
Yeah, I'm not sure how we should handle this totally yet, but I think I'm pretty sold on the "default" variants being JIT-enabled. The appropriate question is probably whether "no-JIT" is useful enough to actually offer an alternative tag for, and what wrench the promise of future extensionsalso being extracted from the core throws in any tag naming convention we come up with. (All this especially when the "non-JIT" variants are very nearly the same size as the JIT-enabled Alpine variants.) For now, I think we should probably just continue to include JIT and we can consider non-JIT orthogonally. |
56b355c
to84c8a38
Comparereneleonhardt commentedJun 3, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I like JIT by default better too, inverted the last commit. |
yosifkit commentedJun 4, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Rebased to update template instead of build time detection |
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
LGTM
I think we should probably wait to merge/publish this until we've got#1259 (or with it) so that we don't publish any versions of 18 that don't have that change. 👍
Guiorgy commentedJun 6, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
For the JIT issue, would it be possible to have an environmental variable, something like |
Build time dynamism has already been removed by reviewers and you want to introduce runtime dynamism to it? |
Guiorgy commentedJun 6, 2025
@reneleonhardt First of all, I have a few containers where I override the entrypoint to do some extra configurations, instead of creating a whole new image based on it, so it can be done, for what it's worth. Secondly, I too think JIT should be enabled and don't see a reason to exclude it, but you can always find someone that will think otherwise. Thirdly, I was just giving some ideas, whether it's a good one or a bad one is up to them to decide. Thirdly, |
c257dcc
intodocker-library:masterUh oh!
There was an error while loading.Please reload this page.
Changes:-docker-library/postgres@6ec0e42: Merge pull requestdocker-library/postgres#1259 from infosiftr/pgdata-cluster-docker-library/postgres@2c6fe8d: Add logic to error out on detection of "old databases"-docker-library/postgres@b9a533c: Change `PGDATA` in 18+ to `/var/lib/postgresql/MAJOR/docker`-docker-library/postgres@c257dcc: Merge pull requestdocker-library/postgres#1344 from reneleonhardt/chore/add-postgres-18-docker-library/postgres@d1e97f2: add postgres 18 beta1
Uh oh!
There was an error while loading.Please reload this page.
Updates
Notes
Questions
It features LLVM 20, but the template downgrades to 19.