Re: Re: Adding foreign key constraint holds exclusive lock for too long (on production database)

From: Ben Hoyt <benhoyt(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: David Johnston <polobo(at)yahoo(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Re: Adding foreign key constraint holds exclusive lock for too long (on production database)
Date: 2013-10-31 23:32:43
Message-ID: CAL9jXCGwYkz1Ow-s52XZcfgeR97G+H8hLg-Rr4gwzKY+61sqow@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hmm, weird -- now the RI_Initial_Check() query is much quicker (20s). We do
ANALYZE the data every few nights, so maybe that's what changed it. I'll
keep that in mind. -Ben

On Fri, Nov 1, 2013 at 3:19 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Ben Hoyt <benhoyt(at)gmail(dot)com> writes:
> >> It appears the possible explanations for Ben's problem are:
> >> 1. For some reason this query is a lot slower than the one he came up
> >> with;
>
> > Anyway, it's definitely #1 that's happening, as I build the
> > RI_Initial_Check() query by hand, and it takes just as long as the ADD
> > CONSTRAINT.
>
> Huh. Maybe an optimizer failing? Could we see the full text of both
> queries and EXPLAIN ANALYZE results for them?
>
> > So I guess this is really a side effect of the quirky way we're
> > dumping and restoring only one schema, and dropping/re-adding
> > constraints on deployment because of this. Is this a really strange
> > thing to do -- deploying only one schema (the "static" data) and
> > dropping/re-adding constraints -- or are there better practices here?
>
> Doesn't seem unreasonable. One thought is that maybe you need to insert a
> manual ANALYZE after reloading the data?
>
> regards, tom lane
>

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Ioana Danes 2013-11-01 15:50:51 how are you?
Previous Message fburgess 2013-10-31 22:27:10 Update Trigger latency utilizing the IS DISTINCT FROM syntax