2010-03-28 48 views
2

我正在使用读取已提交模式的PostgreSQL 8.4。 我知道,对于每个查询,服务器都会创建db状态的快照,以便查询的行为保持一致。 它是否包含为响应此查询而调用的触发器? 或者是否有为从触发器内调用的每个查询创建的新快照?触发器如何处理事务的并发可见性?

回答

2

触发器在与外部查询相同的事务中工作,它将看到相同的快照。

+0

我知道他们在同一个事务中,但事务被读取提交。所以我不太确定快照。你知道它是否记录在某个地方吗? – stach 2010-03-28 21:13:54

+0

读取已提交将查看其他事务提交的所有信息。此外,当您的交易开始后提交此信息时,这就是为什么它被称为“读取已提交”的原因。在您自己的交易中插入/更新/删除的信息,对于您自己的交易显而易见。另见http://www.postgresql.org/docs/current/static/transaction-iso.html – 2010-03-29 07:21:37