Andres Freund <andres(at)anarazel(dot)de> writes: > On 2019-04-02 11:44:26 -0400, Tom Lane wrote: >> What that seems to indicate is that the "unexpected table_lock_tuple >> status" error was thrown during commit, which seems pretty odd.
> I suspect that's a deferred trigger. But that code obviously could throw > errors, so we gotta handle that correctly.
Deferred triggers execute before the real transaction commit, not during the critical section surrounding where we set the bit in pg_clog. But this error is seemingly getting thrown from within that critical section, otherwise we wouldn't have inconsistent xact status afterwards.