PostgreSQL 資料修改的可視性規則:在查詢執行過程中, 由查詢本身造成的資料修改(通過 SQL-函數, SPI-函數,觸發器) 對查詢掃描而言是不可見的.例如,在查詢
INSERT INTO a SELECT * FROM a
裡,插入的記錄對 SELECT 的掃描是不可見的.實際上, 這麼做在資料庫內部形成非遞歸的資料庫表的復制品 (當然是要受到唯一索引規則的制約的嘍)。
由查詢 Q 造成的改變可以為查詢 Q 以後運行的查詢可見, 不管這些查詢是在查詢 Q 內部開始運行(在 Q 運行期間) 的還是Q運行完畢後開始運行的.