2010-03-28 83 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