docker-library / docker-library/postgres
Breaking Change between 16.3 and 16.4
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 2.5k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
Each major version of PostgreSQL (in theory) can come with breaking changes in their API and internals. One such breaking change was the non-optional addition of ALPN to the TLS connection process in PostgreSQL 17. As a result, libpg v17 contains this breaking change, so it is risky to link psql v16 against libpg v17.
In fact, The Official PostgreSQL Docker Container since tag 16.4 is linking against libpg v17 producing real problems in production: Once PostgreSQL v16 (!) is proxied (e. g. TLS termination is not performed by PostgreSQL itself but by Traefik, as typical in cloud environments etc.), psql v16 (!) fails to connect due to missing ALPN custom name postgresql (remember, only v16 is in use here on client and server, and ALPN support was invented in PostgreSQL v17 but does not exist officially in v16.x)!
As such a breaking change is counter intuitive (and forbidden by SemVer), I kindly ask the PostgreSQL Docker Community to link 16.x against libpg v16 instead of v17.
Disclaimer: The source of this information is Tom Lane, I just forwarded it.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by checking the PostgreSQL 16 Docker image build configuration and its libpg dependency, then review the reported ALPN behavior through a proxied TLS connection. Done means the 16.x image links against libpg v16 and the reported PostgreSQL 16 client/server connection scenario no longer fails.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, postgres
- Domain
- databases, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100