Re: [GENERAL] startup process stuck in recovery - Mailing list pgsql-general

From Tom Lane
Subject Re: [GENERAL] startup process stuck in recovery
Date
Msg-id 5873.1507584578@sss.pgh.pa.us
Whole thread Raw
In response to Re: [GENERAL] startup process stuck in recovery  (Christophe Pettus <xof@thebuild.com>)
Responses Re: [GENERAL] startup process stuck in recovery
List pgsql-general
Christophe Pettus <xof@thebuild.com> writes:
>> On Oct 9, 2017, at 13:26, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> My bet is that the source server did something that's provoking O(N^2)
>> behavior in the standby server's lock management.  It's hard to say
>> exactly what, but I'm wondering about something like a plpgsql function
>> taking an AccessExclusiveLock inside a loop that repeatedly traps an
>> exception.  Can you correlate where the standby is stuck with what
>> was happening on the source?

> Interestingly, the OIDs for the relations on which the locks on the secondary are held aren't present in pg_class,
andthey're clustered together.  Could a large number of temporary table creations that are being undone by an abort
causethis? 

Hmm.  Creating or dropping a temp table does take AccessExclusiveLock,
just as it does for a non-temp table.  In principle we'd not have to
transmit those locks to standbys, but I doubt that the WAL code has
enough knowledge to filter them out.  So a lot of temp tables and
a lot of separate subtransactions could be a nasty combination.
        regards, tom lane


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

pgsql-general by date:

Previous
From: Christophe Pettus
Date:
Subject: Re: [GENERAL] startup process stuck in recovery
Next
From: David Rowley
Date:
Subject: Re: [GENERAL] Equivalence Classes when using IN