Re: Hash Indexes Causing Deadlock Notices - Mailing list pgsql-general

From Tom Lane
Subject Re: Hash Indexes Causing Deadlock Notices
Date
Msg-id 7051.971920196@sss.pgh.pa.us
Whole thread Raw
In response to Hash Indexes Causing Deadlock Notices  (mark <markir@i4free.co.nz>)
List pgsql-general
mark <markir@i4free.co.nz> writes:
> I noticed that a large number of log notice messages announcing a
> deadlock being detected together with  transactions being aborted

> The tables impacted in the benchmark had HASH indexes. ( only = scans
> were being performed, it seemed a good idea at the time ..). Recreating
> these indexes as BTREE made all the messages go away. ( and produced a
> better request/s result ! )

IIRC, hash indexes use per-page locking that is not guaranteed deadlock
free.  It's also bad for concurrency even when you don't get a deadlock.

The btree index type is by far the best choice we offer for
high-concurrency applications.  Perhaps at some point someone will
be motivated to improve the other index types, but right now they
are definitely poor stepchildren ...

            regards, tom lane

pgsql-general by date:

Previous
From: Larry Rosenman
Date:
Subject: Re: [HACKERS] pg_connect error
Next
From: Tom Lane
Date:
Subject: Re: plpgsql - cache lookup error 18977