On Fri, 15 Jan 2010, Tom Lane wrote:
>> #0 0x00007f59a5d78ca7 in semop () from /lib/libc.so.6
>> #1 0x0000000000546656 in PGSemaphoreLock ()
>> #2 0x00000000005618ee in LockBufferForCleanup ()
>> #3 0x000000000045c8e2 in btbulkdelete ()
>
> OK, so it's trying to get an exclusive page-level lock on some page of
> the index. The only thing that could block that for any long period is
> if some other process is sitting with an open indexscan. Look around
> for processes that have been "idle in transaction" for a long time ...
There are some, but they've all been running less than a second. There's
no better place to look than pg_stat_activity, is there?