MasahikoSawada
About Archives Categories Slides
  • PostgreSQLのMVCCとガベージコレクション(Vacuum)

    2021/12/22 PostgreSQL, MVCC, Vacuum

    このエントリはPostgreSQL Advent Calender 2021の22日目の記事です。

    Read more →

  • PostgreSQL 14でのBtreeインデックスのVacuum関連の改善についての解説

    2021/08/18 PostgreSQL, Vacuum, Btree Indexes

    Vacuum(とautovacuum)は、テーブルとインデックスのゴミ掃除をした後にindex cleanupと呼ばれる「インデックスVacuumの後処理」のようなものを実行します。実際の処理内容はインデックスの種類によって異なりますが、index cleanupの主な目的はインデックスの統計情報(ページ数、タプル数)を取得することです(インデックスによっては、削除済みページの回収など、他の処理を行う場合もあります)。インデックスのゴミ掃除をした場合(つまりテーブルにゴミがある状態でVacuumが実行された場合)は、インデックスの統計情報はすでに取得済みなので、index cleanupでは何もしません。一方、テーブルにゴミがない状態でVacuumが実行された場合1は、index cleanupはVacuumにとってこれが初めてのインデックスに対する処理となります。

    1. INSERTのみが走ったテーブル(ゴミが内テーブル)にはautovacuumは実行されなかった(PG11時点)。けど、XID周回防止Vacuumはゴミがないテーブルにも定期的に走る。 ↩

    Read more →

  • MyProc->delayChkptについての理解と覚書

    2021/08/05 PostgreSQL, Source Code Reading

    PostgreSQLのコードを読んでいるとたまにMyProc->delayChkptと一旦trueにして、いくつか処理をしたあとに再びfalseに戻す、という処理を見ることがあります。

    Read more →

  • 今年はPostgreSQL開発に参画してみたいという人のためにレビューしやすいパッチを選びました

    2021/01/06 PostgreSQL, Commitfest

    昨年9月にPostgreSQL 13がリリースされましたが、PostgreSQL開発コミュニティでは現在PostgreSQL 14の開発を行っています。PostgreSQLの開発はCommitfestと呼ばれるWebページにパッチを登録し、みんなで1ヶ月間レビューする、という形で行われます。PostgreSQL 14に向けたCommitfestはすでに3回行われていて、2021年1月1日から第4回が始まりました(3月から始まる第5回が最後)。

    Read more →

  • シーケンシャル・スキャンだからといってデータがテーブルの先頭から返ってくるとは限らない、という話

    2020/12/23 PostgreSQL

    この記事はPostgreSQL Advent Calendar 2020の23日目の記事です。昨日は、@hiro5963さんによる「pg_repackについて調べてみた」でした。

    Read more →

« Newer Older »

© 2024 Masahiko Sawada. Hosted by GitHub and powered by Jekyll.
日本語 English