Re: BackendKeyData is mandatory? - Mailing list pgsql-hackers

From Jelte Fennema-Nio
Subject Re: BackendKeyData is mandatory?
Date
Msg-id CAGECzQTRDjSHZ-RLvTRGcsY_EzGX9nVxEgYGZpz1tw9x45dGPQ@mail.gmail.com
Whole thread Raw
In response to Re: BackendKeyData is mandatory?  (Jacob Champion <jacob.champion@enterprisedb.com>)
Responses Re: BackendKeyData is mandatory?
List pgsql-hackers
On Mon, 23 Jun 2025 at 18:02, Jacob Champion
<jacob.champion@enterprisedb.com> wrote:
> 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


It's not super clear what you're referring to with "this" in your
first sentence.

To be clear, I'm not saying we should start throwing errors for things
in libpq that weren't errors before. But more as: I don't expect many
client authors to have considered the scenario of no BackendKeyData.
Because either an author believes the BackendKeyData is optional, in
which case they shouldn't send a CancelRequest for those connections.
Or they think it is required, in which case throwing an error seems
like the sensible thing to do. And the implementations in PgBouncer
and PG17 is neither, i.e. it won't throw an error, but instead of
doing nothing it will do something clearly useless.



pgsql-hackers by date:

Previous
From: jian he
Date:
Subject: Re: pg18: Virtual generated columns are not (yet) safe when superuser selects from them
Next
From: Andres Freund
Date:
Subject: Re: pgsql: Introduce pg_shmem_allocations_numa view