Parsed test spec with 3 sessions starting permutation: s3lock s1b s1exec s2remp s3check s3unlock s3check s1c step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1b: BEGIN; step s1exec: SELECT * FROM partrem WHERE a <> 1 AND a <> (SELECT 3); step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s3check: SELECT * FROM partrem; a|b -+--- 1|ABC 3|DEF (2 rows) step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1exec: <... completed> a|b -+--- 2|JKL (1 row) step s3check: SELECT * FROM partrem; a|b -+--- 1|ABC 3|DEF (2 rows) step s1c: COMMIT; step s2remp: <... completed> starting permutation: s3lock s1brr s1exec s2remp s3check s3unlock s3check s1c step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1exec: SELECT * FROM partrem WHERE a <> 1 AND a <> (SELECT 3); step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s3check: SELECT * FROM partrem; a|b -+--- 1|ABC 3|DEF (2 rows) step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1exec: <... completed> a|b -+--- 2|JKL (1 row) step s3check: SELECT * FROM partrem; a|b -+--- 1|ABC 3|DEF (2 rows) step s1c: COMMIT; step s2remp: <... completed> starting permutation: s3lock s1b s1exec2 s2remp s3unlock s1c step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1b: BEGIN; step s1exec2: SELECT * FROM partrem WHERE a <> (SELECT 2) AND a <> 1; step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1exec2: <... completed> a|b -+--- 3|DEF (1 row) step s1c: COMMIT; step s2remp: <... completed> starting permutation: s3lock s1brr s1exec2 s2remp s3unlock s1c step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1exec2: SELECT * FROM partrem WHERE a <> (SELECT 2) AND a <> 1; step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1exec2: <... completed> a|b -+--- 3|DEF (1 row) step s1c: COMMIT; step s2remp: <... completed> starting permutation: s3lock s1brr s1prepare s2remp s1execprep s3unlock s1check s1c s1check s1dealloc step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1prepare: PREPARE ins AS INSERT INTO partrem VALUES ($1, 'GHI'); step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s1execprep: EXECUTE ins(2); step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1execprep: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+--- 2|GHI (1 row) step s1c: COMMIT; step s2remp: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+- (0 rows) step s1dealloc: DEALLOCATE ins; starting permutation: s1brr s1prepare s2remp s3lock s1execprep s3unlock s1check s1c s1check s1dealloc step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1prepare: PREPARE ins AS INSERT INTO partrem VALUES ($1, 'GHI'); step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s1execprep: EXECUTE ins(2); step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1execprep: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+--- 2|GHI (1 row) step s1c: COMMIT; step s2remp: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+- (0 rows) step s1dealloc: DEALLOCATE ins; starting permutation: s1brr s1check s3lock s2remp s1prepare s1execprep s3unlock s1check s1c s1check s1dealloc step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+- (0 rows) step s3lock: SELECT pg_advisory_lock(12543); pg_advisory_lock ---------------- (1 row) step s2remp: ALTER TABLE partrem DETACH PARTITION partrem2 CONCURRENTLY; step s1prepare: PREPARE ins AS INSERT INTO partrem VALUES ($1, 'GHI'); step s1execprep: EXECUTE ins(2); step s3unlock: SELECT pg_advisory_unlock(12543); pg_advisory_unlock ------------------ t (1 row) step s1execprep: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+--- 2|GHI (1 row) step s1c: COMMIT; step s2remp: <... completed> step s1check: SELECT * FROM partrem WHERE b = 'GHI'; a|b -+- (0 rows) step s1dealloc: DEALLOCATE ins;