PostgreSQL/解析

autovacuum launcher

autovacuum_launcher.png
  • autovacuum workerは、autovacuum launcherによって起動される。
    メモ backend/postmaster/autovacuum.c#AutoVacLauncherMain()
  • autovacuum_naptime / データベース数 のインターバルごとにautovacuum worker(autovacuum_max_works)が起動される。デフォルトでは、autovacuum_naptimeは1min、3つのworkerが起動される設定となっている。freeのworkerがいない場合は、workerは起動されない。
    • autovacuum workerを起動するのは、Postmasterである。autovacuum launcherは、autovacuum対象のデータベースがあれば、PostmasterにSignalFlagsがPMSIGNAL_START_AUTOVAC_WORKERのシグナルSIGUSR1を送る。
      メモ backend/postmaster/autovacuum.c#do_start_worker()
    • workerが次に起動する時間は、autovacuum_naptime / データベース数 で分散されている。statエントリを持たないデータベースは対象外となる。
      メモ backend/postmaster/autovacuum.c#rebuild_database_list()
    • autovacuum workerは、autovacuumが実行された時間が最も古いデータベースに対して起動される。
    • メモ backend/postmaster/autovacuum.c#do_start_worker()
    • autovacuum_freeze_max_ageの世代を超えたデータベースがある場合は優先される。

参考リンク


添付ファイル: fileautovacuum_launcher.png 17件 [詳細]

PR

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-06-16 (日) 23:59:20 (98d)
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP