postgres icon indicating copy to clipboard operation
postgres copied to clipboard

Breaking Change between 16.3 and 16.4

Open mkarg opened this issue 1 month ago • 3 comments

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.

mkarg avatar Dec 25 '24 23:12 mkarg