From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | Gregory Stark <stark(at)enterprisedb(dot)com>, "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, "Postgres General" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: deadlock while re-indexing table |
Date: | 2008-02-12 22:05:47 |
Message-ID: | 3509.1202853947@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Dave Cramer <pg(at)fastcrypt(dot)com> writes:
>>> The other process is inserting into the user_profile table.
>>
>> Did either transaction do anything else in the same transaction
>> previously?
>>
> It would appear that the insert is running before the reindex starts.
That's not possible --- if it had been, the insert would already have
RowExclusiveLock on the table, which would have blocked the reindex
from acquiring ShareLock on the table. The reindex must already have
that, since it's trying to acquire AccessExclusiveLock on one of the
indexes, so there can't be any active inserts on the table.
I suspect the other process must be doing a series of selects in one
transaction that use indexes of the table in some random order, but
that's just an educated guess at this point.
BTW, what PG version is this?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-02-12 22:06:48 | Re: end of life for pg versions... |
Previous Message | Tom Lane | 2008-02-12 22:00:09 | Re: Deferred constraints and locks... |