Hi,
On 2026-01-13 16:11:24 -0500, Robert Haas wrote:
> On Tue, Jan 13, 2026 at 3:26 PM Andres Freund <andres@anarazel.de> wrote:
> > All the error handling paths (hopefully) have an LWLockReleaseAll()... Which
> > is pretty crucial given that we do stuff outside of transactions in other
> > places.
> >
> > That doesn't mean the other concerns about resource management are unfounded,
> > however.
>
> Yeah, I actually wasn't completely sure about that particular comment.
> I think what will happen if we ERROR outside of a transaction is that
> it will become FATAL and kill the backend, but I'm not 100% positive
> about that.
I'm pretty sure that doesn't generally happen. There's promotion to FATAL if
the top-level sigsetjmp() hasn't yet run (c.f. the check for
PG_exception_stack in errstart()), but once it has been reached, it stays
configured.
Greetings,
Andres Freund