Search Postgresql Archives

Re: deadlock while re-indexing table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 12-Feb-08, at 1:02 PM, Gregory Stark wrote:

"Dave Cramer" <pg@xxxxxxxxxxxxx> writes:

On 12-Feb-08, at 10:37 AM, Tom Lane wrote:

Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx> writes:
Dave Cramer wrote:
reindex table user_profile;
ERROR:  deadlock detected
DETAIL:  Process 32450 waits for AccessExclusiveLock on relation
194689112 of database 163880909; blocked by process 31236.
Process 31236 waits for AccessShareLock on relation 194689110 of
database 163880909; blocked by process 32450.

I don't find this very surprising ... I would suggest using "reindex
index" for each index instead.  I'm not sure if REINDEX TABLE is
supposed to be deadlock-free.

It's not guaranteed to be so, but I'd think simple cases would be
okay.  What's that other process doing?

The other process is inserting into the user_profile table.

Hm. This shouldn't be enough to cause a deadlock. Both inserts and reindex use the same method to get the list of indexes which returns them in the same
order.

Did either transaction do anything else in the same transaction previously?

It would appear that the insert is running before the reindex starts. Other than that I can't tell yet what was done in other transactions.

Dave
--
 Gregory Stark
 EnterpriseDB          http://www.enterprisedb.com
 Ask me about EnterpriseDB's PostGIS support!


---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux