On Tue, 2023-02-07 at 16:23 +0600, Rinat Shigapov wrote: > I have a concurrent testsuite that runs 14 test cases. Each test case operates > on a disjoint set of records, doesn't retry transactions and is run under > 'serializable' isolation level. The test data is small and likely fits within > a single tuple page. > > When I finished the test suite I was surprised that PostgreSQL 14.5 returns > serialization failure on every test suite run. This is no question for the hackers list; redirecting to general. That behavior sounds perfectly normal to me: if everything is in a single page, PostgreSQL probably won't use an index scan. With a sequential scan, the predicate lock will be on the whole table. So you should expect serialization failures. This is well documented. Perhaps you should use a more realistic test case with a reasonable amount of data. Yours, Laurenz Albe