Uh oh!
There was an error while loading. Please reload this page.
chore: add postgres 18 beta1 - #1344
Conversation
tianon
commented
Jun 2, 2025
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 was https://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 there are 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 without some evidence that it's probably fine to do so. |
reneleonhardt
commented
Jun 2, 2025
After update/versions.sh created the 18 entry, I double-checked the repo and added s390x manually, as I wrote. |
tianon
commented
Jun 2, 2025
See Lines 116 to 118 in 86e5040 s390x manually won't work (it'll fail at build time, not to mention @docker-library-bot immediately reverting that change post-merge). |
reneleonhardt
commented
Jun 2, 2025
I removed s390x. |
After some digging, the test failure is from this 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 sysstatSo, 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 |
reneleonhardt
commented
Jun 3, 2025
I created a test fallback, on Alpine or if postgresql-18-jit has been installed then |
reneleonhardt
commented
Jun 3, 2025
But this has to be documented, many users will expect a "full" Postgres image. |
tianon
commented
Jun 3, 2025
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 extensions also 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 to
84c8a38CompareI like JIT by default better too, inverted the last commit. |
84c8a38 to
08ab1ebCompareRebased to update template instead of build time detection |
Uh oh!
There was an error while loading. Please reload this page.
08ab1eb to
d1e97f2CompareFor the JIT issue, would it be possible to have an environmental variable, something like |
reneleonhardt
commented
Jun 6, 2025
Build time dynamism has already been removed by reviewers and you want to introduce runtime dynamism to it? |
Guiorgy
commented
Jun 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, |
Changes: - docker-library/postgres@6ec0e42: Merge pull request docker-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 request docker-library/postgres#1344 from reneleonhardt/chore/add-postgres-18 - docker-library/postgres@d1e97f2: add postgres 18 beta1
Changes: - docker-library/postgres@6ec0e42: Merge pull request docker-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 request docker-library/postgres#1344 from reneleonhardt/chore/add-postgres-18 - docker-library/postgres@d1e97f2: add postgres 18 beta1
Changes: - docker-library/postgres@6ec0e42: Merge pull request docker-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 request docker-library/postgres#1344 from reneleonhardt/chore/add-postgres-18 - docker-library/postgres@d1e97f2: add postgres 18 beta1
Updates
Notes
Questions
It features LLVM 20, but the template downgrades to 19.