• Tom Lane's avatar
    Report the current queries of all backends involved in a deadlock · 4b7ae4af
    Tom Lane authored
    (if they'd be visible to the current user in pg_stat_activity).
    
    This might look like it's subject to race conditions, but it's actually
    pretty safe because at the time DeadLockReport() is constructing the
    report, we haven't yet aborted our transaction and so we can expect that
    everyone else involved in the deadlock is still blocked on some lock.
    (There are corner cases where that might not be true, such as a statement
    timeout triggering in another backend before we finish reporting; but at
    worst we'd report a misleading activity string, so it seems acceptable
    considering the usefulness of reporting the queries.)
    
    Original patch by Itagaki Takahiro, heavily modified by me.
    4b7ae4af
deadlock.c 27.7 KB