On Mon, 19 Oct 2020 at 20:37, Ashutosh Bapat <ashutosh.bapat....@gmail.com> wrote: > > On Mon, Oct 19, 2020 at 2:37 PM tsunakawa.ta...@fujitsu.com > <tsunakawa.ta...@fujitsu.com> wrote: > > > > Really. I thought we were talking about canceling commits with Ctrl + C as > > you referred, right? I couldn't imagine, in production environments where > > many sessions are running transactions concurrently, how the user (DBA) > > wants and can cancel each stuck session during commit one by one with Ctrl > > + C by hand. I haven't seen such a feature exist or been considered > > crucial that enables the user (administrator) to cancel running processing > > with Ctrl + C from the side. > > Using pg_cancel_backend() and pg_terminate_backend() a DBA can cancel > running query from any backend or terminate a backend. For either to > work the backend needs to be interruptible. IIRC, Robert had made an > effort to make postgres_fdw interruptible few years back.
Right. Also, We discussed having a timeout on the core side but I'm concerned that the timeout also might not work if it's not interruptible. While using the timeout is a good idea, I have to think there is also a certain number of the user who doesn't use this timeout as there is a certain number of the users who doesn't use timeouts such as statement_timeout. We must not ignore such users and It might not be advisable to design a feature that ignores such users. Regards, -- Masahiko Sawada http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services