On Tue, 2021-06-15 at 00:25 +0800, Julien Rouhaud wrote: > Le mar. 15 juin 2021 à 00:15, Laurenz Albe: > > - Attach to the backend with gdb. > > - Enter "print ProcessInterrupts()" > > > > Of course that will not work if the backend is in uninterruptible > > sleep (for example, stuck in an I/O operation). > > that may be a terrible idea and leave a buffer pinned or something. > and if it's not it won't tell us where we're missing a CALL_FOR_INTERRUPTS If there is an error, AbortCurrentTransaction() gets called, which releases all buffer pins. If you were stuck in an endless loop in a critical section, you are going to crash anyway. If you want to investigate where you are stuck, run a backtrace first. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com