Zoltan Boszormenyi <zb@cybertec.at> writes:
> The realtime trace I captured from the hung INSERT shows that it
> enters two functions repeatedly: _bt_relandgetbuf() and _bt_compare().
> The pattern in which these functions entered match either _bt_moveright() or
> _bt_insertonpg().
What that sounds like to me is a corrupt index (infinite loop of
right-links, perhaps). Have you tried REINDEXing the table?
regards, tom lane