- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PostgreSQL/解析/バックグラウンドワーカプロセス へ行く。
バックグラウンドワーカプロセス †
PostgreSQLでは、クライアントコネクション接続を処理するバックエンドプロセスとは異なるプロセスを実行することができる。このバックグラウンドワーカプロセスは、postmasterプロセスによって起動(fork)され、ワーカプロセスの状態はpostmasterの起動・停止・監視とリンクしている。このバックグラウンドワーカの仕組みは、パラレルワーカでも使われており、バックエンドプロセスから動的にバックグラウンドワーカプロセスを起動することも可能である。
バックグラウンドワーカは、バージョン9.3から機能追加されている。
9.4からは動的にバックグラウンドワーカを起動できるように拡張されている。
バックグラウンドワーカプロセスの起動 †
バックグラウンドワーカは、Postmaster起動時及び起動後のタイミングで起動することができる(便宜上、ここではPostmaster起動時のワーカを静的、Posmaster起動後のワーカを動的と呼ぶこととする)。
なお、バックグラウンドワーカは起動可能なタイミングによって呼び出す関数が異なるが、バックグラウンドワーカ自体は同じ構造体変数で表現される。
参考リンク †
- 並列クエリを実行するPostgreSQLのアーキテクチャ - https://www.slideshare.net/kaigai/
- PostgreSQL 9.6.X 文書 第45章 バックグラウンドワーカプロセス - https://www.postgresql.jp/document/9.6/html/
- Chapter 47. Background Worker Processes - https://www.postgresql.org/docs/10/static/
- postmaster/bgworker.c - https://git.postgresql.org/gitweb/?p=postgresql.git;a=shortlog;h=refs/heads/REL_10_STABLE