Tag: Vacuum

  • PostgreSQLでトランザクションIDをできるだけ早く消費する方法
    PostgreSQLのトランザクションID(XID)をできるだけ早く消費する方法をいくつか紹介します。XID周回とaggressive vacuumのテストのために、約20億トランザクションを現実的な時間で消費するための手法を比較します。
  • 最速でVacuumを完了させる方法とその副作用
    XID周回問題に追われてVacuumを最速で完了させたいときに使えるパラメータ設定と、その副作用を解説します。vacuum_cost_delayやmaintenance_work_memの調整が何を犠牲にするのかを整理します。
  • PostgreSQLのMVCCとガベージコレクション(Vacuum)
    PostgreSQLのMVCC(多版型同時実行制御)の仕組みと、不要になった行をVacuumがどう回収するかを解説します。トランザクションID、xmin/xmax、可視性判定、そしてガベージコレクションとしてのVacuumの役割を順に...
  • PostgreSQL 14でのBtreeインデックスのVacuum関連の改善についての解説
    PostgreSQL 14で行われたBtreeインデックスのVacuum関連の3つの改善を解説します。index cleanupでのインデックスフルスキャンがどのような条件で走っていたのか、そしてそれがどう削減されたかを説明します。
  • VACUUMのログの読み方(VACUUM VERBOSE)
    PostgreSQLのVACUUM VERBOSEが出力するログの読み方を、Scan/Vacuum index/Vacuum tableの3フェーズに分けて項目ごとに解説します。log_autovacuum_min_durationで...
  • PostgreSQL 11で導入されたVacuumの2つの改善
    PostgreSQL 11で導入されたVacuumの改善のうち、Vacuum実行中のFree Space Map(FSM)更新と、もう1つの改善について解説します。Vacuumの長時間化やキャンセル時にテーブルが肥大化していた問題がど...
  • BDI勉強会で話してきました
    BDI勉強会で「Vacuumとzheap」というタイトルで発表してきました。現在のVacuumの課題点と改善案、およびPostgreSQLコミュニティに提案されているストレージエンジン機能とzheapについて話した内容のまとめです。