You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
For the Debian variants (like latest), we don't build/link them directly -- we use the upstream-maintained builds from https://wiki.postgresql.org/wiki/Apt 🤔
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 linkpsql
v16 againstlibpg
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 namepostgresql
(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.
The text was updated successfully, but these errors were encountered: