MVCC と VACUUM - 更新で残る古い版と、それを消せなくする長いトランザクション
MVCC(Multiversion Concurrency Control)は、レコードを更新しても古い内容をすぐには消さず、複数の版を並べて持つことで、読み手と書き手が互いを待たずに済むようにする仕組みです。PostgreSQL では、UPDATE は古い版の隣に新しい版を足し、DELETE は版に「消した」という印を付けるだけです。誰からも見えなくなった古い版を後で回収するのが、VACUUM という処理です。 ...