Re: COMMIT stuck for days after bulk delete - Mailing list pgsql-performance

From Josh Kupershmidt
Subject Re: COMMIT stuck for days after bulk delete
Date
Msg-id CAK3UJRE1KWm47i+HfP7GgoAuoLFCs61EGrPiAWUu1y6_mfT5ig@mail.gmail.com
Whole thread Raw
In response to Re: COMMIT stuck for days after bulk delete  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-performance
On Tue, Jan 14, 2014 at 12:36 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Josh Kupershmidt <schmiddy@gmail.com> writes:
>> We have a 9.1.11 backend (Ubuntu 12.04 x86_64, m1.medium EC2 instance)
>> which seems to be stuck at COMMIT for 2 days now:
>> ...
>> The transaction behind that COMMIT has been the only thing running on
>> this Postgres instance for the past 3 days or so, since Postgres was
>> started on that machine. I spun the EC2 instance for this database up
>> solely to test a database subsetting process, which is what the
>> transaction was doing before it got stuck at COMMIT -- using a bunch
>> of DELETEs and ALTER TABLE ... DROP|ADD CONSTRAINTs to delete 90% or
>> so of our data in order to be able to pg_dump a slimmed-down
>> development copy.
>
> A plausible guess is that the backend is running around trying to verify
> that some deferred foreign key constraints still hold.  But without
> knowing what your schema is, that's only a guess.

Yeah, that's a good guess. A bunch of the FK constraints I am dropping
and re-adding are marked DEFERRABLE INITIALLY DEFERRED; there are 167
counted by:

SELECT COUNT(*)
  FROM pg_catalog.pg_constraint c
  WHERE contype = 'f' AND condeferrable AND condeferred AND
  connamespace =
    (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = 'public') ;

> If that is it, a likely solution is to drop *all* the FK constraints
> before doing the bulk delete, then (in a new transaction, probably)
> recreate the ones you still want.

Will try that, thanks for the suggestion.

Josh


pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: COMMIT stuck for days after bulk delete
Next
From: Kai Sellgren
Date:
Subject: Issue with query scanning through all data even with indexes