Re: Deadlocks caused by referential integrity checks

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Greg Stark <gsstark@mit.edu>, pgsql-general@postgresql.org
Date: 2004-08-26T03:36:43Z
Lists: pgsql-general
Tom Lane wrote:
> Greg Stark <gsstark@mit.edu> writes:
> > At least some versions of postgres ensure that constraint triggers will be
> > executed in alphabetical order.
> 
> Only within a single event, though, so I don't think fooling with the
> trigger names will do anything to resolve the sorts of problems people
> are dealing with.
> 
> The most promising quick-fix I've heard suggested is to mark all the FK
> constraints as deferred until end of transaction.  That would reduce the
> time window in which the locks are held to a short interval and thus
> make deadlocks less likely (not impossible, certainly, but less likely).

We would probably have to allow the deferred trigger queue to spill to
disk if we do that, of course.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073