From: Tom Lane <tgl@sss.pgh.pa.us>
To: Scott Whitney <swhitney@journyx.com>
Cc: pgsql-admin@postgresql.org
Subject: Re: Strange deadlock error last night
Date: Tue, 13 Jan 2009 16:04:17 -0500
Message-ID: <1307.1231880657@sss.pgh.pa.us> (raw)
In-Reply-To: <20090113173555.80E667E4FD8@mail.int.journyx.com>
References: <20090113173555.80E667E4FD8@mail.int.journyx.com>
"Scott Whitney" <swhitney@journyx.com> writes:
> Last night, I got this:
> Jan 13 03:31:28 db01 postgres[23537]: [140-2] DETAIL: Process 23537 waits
> for AccessShareLock on relation 1260 of database 0; blocked by process
> 22228.
> Jan 13 03:31:28 db01 postgres[23537]: [140-3] Process 22228 waits for
> AccessShareLock on relation 1262 of database 0; blocked by process 6816.
> Jan 13 03:31:28 db01 postgres[23537]: [140-4] Process 6816 waits for
> AccessShareLock on relation 1260 of database 0; blocked by process 14624.
> Jan 13 03:31:28 db01 postgres[23537]: [140-5] Process 14624 waits for
> AccessExclusiveLock on relation 1260 of database 0; blocked by process
> 23537.
> Jan 13 03:31:28 db01 postgres[14624]: [243-1] ERROR: deadlock detected
Well, the problem is evidently that guy trying to get exclusive lock on
relation 1260, which is pg_authid (a quick way to check that is "select
1260::regclass"). (Note: the "database 0" just means it's a system catalog
that's shared across all databases.) pg_authid is touched often enough
that trying to ex-lock it in an active database is just asking for
trouble.
Is it possible that that process was trying to run VACUUM FULL or
REINDEX on pg_authid? I can't think of any other likely-sounding
explanation for something trying to take an exclusive lock on that
catalog. The best solution would be "don't do that" ...
> It ended up locking up about 250 customer databases until I restarted the
> postmaster. This is version 8.1.4. Upgrading right now (even to a minor rev)
> is not really an option.
Not related to the immediate problem, but: you really need to schedule
5 minutes' downtime so you can update to 8.1.latest. Reasons can be
found here:
http://www.postgresql.org/docs/8.1/static/release.html
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: tgl@sss.pgh.pa.us, swhitney@journyx.com
Subject: Re: Strange deadlock error last night
In-Reply-To: <1307.1231880657@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox