是否可以仅使用 Insert 和 Select 语句在 Redshift 中引发可序列化隔离冲突?

Is it possible to raise a Serializable Isolation Violation in Redshift using only Insert and Select statements?

只是一些背景知识:我们的软件执行简单但速度相当快(高峰时每秒 +/- 1,有时并发),INSERTSELECT 语句针对特别是 Redshift table。有时,这些语句之一,通常是 INSERT 语句(也许总是?),会抛出一个可序列化隔离冲突。没有连接或任何复杂的东西,只是插入一条记录,并根据过滤器选择记录组。

我的问题:如何仅使用 Insert 和 Select 语句在 Redshift 中引发可序列化隔离冲突?

根据我对可序列化隔离的工作原理的理解,只有像 UPDATEDELETE 语句这样的东西才能破坏可序列化性。我一遍又一遍地阅读 documentation,但它没有提供任何有用的示例来真正理解手头的原则。我想也许我对 SI 的理解不正确。有人可以解释一下(希望有一个例子)这个原则是如何工作的吗?

这个问题的替代标题也可以是:"Explain Like I'm 5: Serialization Isolation," 因为我很可能完全问错了问题。

这个怎么样:

T1:  INSERT A
T2:  INSERT B
T2:  SELECT somethingThatWouldIncludeAIfItWasCommitted 
    => but it was not committed, so it will not be included
    => T1 must be after T2
T1:  SELECT somethingThatWouldIncludeBIfItWasCommitted 
    => T2 must be after T1  => BOOM