PostgreSQL
PrevChapter 40. Server Programming InterfaceNext

Visibility of Data Changes データ変更の可視性

Postgres におけるデータ変更の可視性の規則: 問い合わせの実行中に、問い合わせ自身(SQL関数、SPI 関数、トリガ)によっ て行なわれたデータの変更は、問い合わせ中に行なわれる走査からは見えない ようになっています。たとえば、 INSERT INTO a SELECT * FROM a という問い合わせで、挿入されたタプルは SELECT の走査からは 見えません。 実際には、この問い合わせは、再帰を使わずに データベース中のテーブル自身を複製します(もちろん、ユニークインデック スの条件が許せばですが)。

問い合わせ Q による変更は、(Q の実行中に)Q の中で開始されたのか、そう でないのかに関わらず、Q の後で開始した問い合わせ、あるいは Q の終了後 に開始された問い合わせからは見えます。


PrevHomeNext
Memory Managementメモリ管理UpExamples例