On Thu, Jun 19, 2025 at 5:12 AM Jelte Fennema-Nio <postg...@jeltef.nl> wrote: > I'd be surprised if many clients handle it correctly if it is not > sent. Looking quickly at the code for pgbouncer and libpq for PG17 > (and lower) they definitely don't. They won't throw an error, but > instead of doing nothing when the user tries to cancel a query they > will instead send a cancel message with all zeros to the server. Since > PG18 libpq handles a cancel call nicely as a no-op, when no cancel key > was received.
If anyone today is relying on "backend-key-less" connection, this is potentially a breaking change. For example, psycopg2 now complains: psycopg2.OperationalError: can't get cancellation key whereas before, it would be able to connect, and sending a cancel would do something. (Whether or not that "something" was useful was up to the server implementation, I guess.) --Jacob