-
PostgreSQLの色んなINSERTの仕方
使用するテーブル
-
最速でVacuumを完了させる方法とその副作用
これはPostgreSQL Advavent Calendar 2022の21日目のエントリです。昨日は、@tom-satoさんによるPostgreSQL でページの中身を視覚的に表示してみるでした。
-
転職しました
2ndQuadrantとEDBを合わせて約3年間、PostgreSQL開発を主な仕事として、PostgreSQLの開発コミュニティでパッチを書いたり、レビューしたりしていました。
-
PostgreSQLのMVCCとガベージコレクション(Vacuum)
このエントリはPostgreSQL Advent Calender 2021の22日目の記事です。
-
PostgreSQL 14でのBtreeインデックスのVacuum関連の改善についての解説
Vacuum(とautovacuum)は、テーブルとインデックスのゴミ掃除をした後にindex cleanupと呼ばれる「インデックスVacuumの後処理」のようなものを実行します。実際の処理内容はインデックスの種類によって異なりますが、index cleanupの主な目的はインデックスの統計情報(ページ数、タプル数)を取得することです(インデックスによっては、削除済みページの回収など、他の処理を行う場合もあります)。インデックスのゴミ掃除をした場合(つまりテーブルにゴミがある状態でVacuumが実行された場合)は、インデックスの統計情報はすでに取得済みなので、index cleanupでは何もしません。一方、テーブルにゴミがない状態でVacuumが実行された場合1は、index cleanupはVacuumにとってこれが初めてのインデックスに対する処理となります。
-
INSERTのみが走ったテーブル(ゴミが内テーブル)にはautovacuumは実行されなかった(PG11時点)。けど、XID周回防止Vacuumはゴミがないテーブルにも定期的に走る。 ↩
-