From: Ibrahim Harrani <ibrahim.harrani@gmail.com>
To: Yeb Havinga <yebhavinga@gmail.com>
Cc: pgsql-admin@postgresql.org
Subject: Re: vacuum deadlock
Date: Fri, 5 Feb 2010 20:14:17 +0200
Message-ID: <530068a1002051014r65c160aej81d267cf30cb600e@mail.gmail.com> (raw)
In-Reply-To: <4B6C10BA.8050003@gmail.com>
References: <530068a1002050143n26ee05c6hda0de69f5ed97a9d@mail.gmail.com>
<4B6C10BA.8050003@gmail.com>
Hi Yeb,
Thanks for your reply.
As far as I know, pg_class_oid_index and pg_class are postgresql internal
relations.
Normally, there is not application that directly using those relations.
How should I map this lock issue on this relations to my application side?
On which cases those are locked and used by applications?
Thanks
On Fri, Feb 5, 2010 at 2:36 PM, Yeb Havinga <yebhavinga@gmail.com> wrote:
> Ibrahim Harrani wrote:
>
>> Hi,
>>
>> I am using PostgreSQL 8.3.7.
>> autovacuum is enabled in postgresql.conf
>>
>> I got a deadlock while vacuuming all databases with vacuumdb command.
>>
>> vacuumdb: vacuuming of database "mydb" failed: ERROR: deadlock detected
>> DETAIL: Process 1294 waits for AccessExclusiveLock on relation 2662 of
>> database ; blocked by process 1807.
>> Process 1807 waits for AccessShareLock on relation 1259 of database 16389;
>> blocked by process 1294.
>>
>> I think, because of this lock, deleting a large table (15 million records)
>> was taking too much time
>> How can I know the name of the relations 2662 and 1259?
>>
> postgres=# select oid,relname from pg_class where oid in (2662,1259);
> oid | relname ------+--------------------
> 2662 | pg_class_oid_index
> 1259 | pg_class
> (2 rows)
>
> Do you have any ide about the problem and solution?
>>
> It would be interesting to know what are the processes 1807 and 1294. Once
> that is known, try to avoid executing both processes concurrently.
>
> regards
> Yeb Havinga
>
>
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: ibrahim.harrani@gmail.com, yebhavinga@gmail.com
Subject: Re: vacuum deadlock
In-Reply-To: <530068a1002051014r65c160aej81d267cf30cb600e@mail.gmail.com>
* 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