Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> OK, I tried it again and it still seems buggy to me...
> I wonder if it's something to do with the tsearch trigger on food_foods?
I tried a table with a simple BEFORE trigger and it didn't fail.
But when I added a GIST index, it did:
[ install contrib/btree_gist ]
regression=# create index gindex on foo using gist (f2);
CREATE INDEX
...
regression=# UPDATE foo SET f2=now() WHERE f1=1;
ERROR: deadlock detected
DETAIL: Process 18122 waits for AccessExclusiveLock on relation 154635 of database 17139; blocked by process 18133.
Process 18133 waits for ShareLock on transaction 6330; blocked by process 18122.
The trouble here is that GIST indexes are not concurrency-safe.
This is on the TODO list but I fear it's not a small task ...
regards, tom lane