Konstantin Knizhnik wrote: > As I have mentioned at the beginning of this thread the same problem with > deadlock detection timeout expiration we have with YSCB benchmark with zipf > distribution. > Here the source of contention are tuple locks. And as far as I understand > from the discussion in the mentioned thread, it is not possible to eliminate > heavy weight tuple locks.
Well, if the source of tuple locks are foreign keys, maybe we can fix that problem by removing the need for tuple locks in the first place -- for example, mark a table as prohibiting DELETEs, TRUNCATE, and any UPDATE that modifies the columns of the primary key. With that, you don't need to lock rows in the FK triggers. (This is like 'ALTER TABLE tb SET READ ONLY', except the restrictions are less severe). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services