On 17.06.25 03:10, Tatsuo Ishii wrote:
My question is, BackendKeyData is mandatory or not. Currently Pgpool-II raises a fatal error if BackendKeyData is not sent before ReadyForQuery arrives. This is because without the message, frontend cannot send a CancelRequest message later on, as there's no secret key.
I think that's fine, if the server does not want to support query cancellation. The current protocol description certainly does not support the idea that it is a hard error *not* to send BackendKeyData.
It's also worth thinking about the new protocol 3.2 longer key data. A paranoid server might choose to send key data only if protocol >=3.2 is chosen and not if a lower, notionally less secure version is chosen.