ne 3. 9. 2023 v 9:59 odesílatel Jelte Fennema <postgres@jeltef.nl> napsal:
On Sun, 3 Sept 2023 at 08:24, Pavel Stehule <pavel.stehule@gmail.com> wrote: > My personal feeling from this area is that the protocol design is done, but it is not implemented on libpq level. My feelings can be wrong. The protocol number is hardcoded in libpq, so I cannot change it from the client side.
No, I agree you're right the client side code to fall back to older versions is not implemented. But that seems fairly simple to do. We can change pqGetNegotiateProtocolVersion3 its behaviour. That function should change conn->pversion to the server provided version if it's lower than the client version (as long as the server provided version is 3.0 or larger). And then we should return an error when calling PQlinkParameterStatus/PQunlinkParameterStatus if the pversion is not high enough.