On Thu, Mar 18, 2021, at 4:20 PM, Tomas Vondra wrote: > I think a better way to test this would be to use a tuple lock: I predicated such issues with this test. Your suggestion works for me. Maybe you should use less rows in the session 2 query.
> setup: > > create table t (a int unique); > > session 1: > > begin; > insert into t values (1); > ... keep open ... > > session 2: > > begin; > set work_mem = '64kB'; > insert into t select i from generate_series(1,10000) s(i); > ... should block ... > > Then, once the second session gets waiting on the tuple, kill the > backend. We might as well test that there actually is a temp file first, > and then test that it disappeared. Your suggestion works for me. Maybe you could use less rows in the session 2 query. I experimented with 1k rows and it generates a temporary file. -- Euler Taveira EDB https://www.enterprisedb.com/