#author("2018-01-11T14:45:07+00:00","default:haikikyou","haikikyou")
#author("2018-01-11T15:08:39+00:00","default:haikikyou","haikikyou")
[[PostgreSQL/開発]]

#contents

* バックグラウンドワーカ [#q64b878d]
* バックグラウンドワーカプロセス [#q64b878d]

PostgreSQLでは、クライアントコネクション接続を処理するバックエンドプロセスとは異なるプロセスを実行することができる。このバックグラウンドワーカプロセスは、postmasterプロセスによって起動(fork)され、ワーカプロセスの状態はpostmasterの起動・停止・監視とリンクしている。このバックグラウンドワーカの仕組みは、パラレルワーカでも使われており、バックエンドプロセスから動的にバックグラウンドワーカプロセスを起動することもできるようになっている。
PostgreSQLでは、クライアントコネクション接続を処理するバックエンドプロセスとは異なるプロセスを実行することができる。このバックグラウンドワーカプロセスは、postmasterプロセスによって起動(fork)され、ワーカプロセスの状態はpostmasterの起動・停止・監視とリンクしている。このバックグラウンドワーカの仕組みは、パラレルワーカでも使われており、バックエンドプロセスから動的にバックグラウンドワーカプロセスを起動することも可能である。

バックグラウンドワーカは、バージョン9.3から機能追加されている。~
9.4からは動的にバックグラウンドワーカを起動できるように拡張されている。

* バックグラウンドワーカプロセスの起動 [#j230d805]

バックグラウンドワーカは、Postmaster起動時及び起動後のタイミングで起動することができる(便宜上、ここではPostmaster起動時のワーカを静的、Posmaster起動後のワーカを動的と呼ぶこととする)。

なお、バックグラウンドワーカは起動可能なタイミングによって呼び出す関数が異なるが、バックグラウンドワーカ自体は同じ構造体変数で表現される。

* 参考リンク [#o7ea3c3f]

- [[並列クエリを実行するPostgreSQLのアーキテクチャ>https://www.slideshare.net/kaigai/postgresql-64441503]] - &size(11){&color(gray){https://www.slideshare.net/kaigai/};};
- [[PostgreSQL 9.6.X 文書 第45章 バックグラウンドワーカプロセス>https://www.postgresql.jp/document/9.6/html/bgworker.html]] - &size(11){&color(gray){https://www.postgresql.jp/document/9.6/html/};};
- [[Chapter 47. Background Worker Processes>https://www.postgresql.org/docs/10/static/bgworker.html]] - &size(11){&color(gray){https://www.postgresql.org/docs/10/static/};};
- [[postmaster/bgworker.c>https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/postmaster/bgworker.c;h=b690b1b0b85e905572919f86255c0f6c09f54b16;hb=b8279a783dafb7c715b3835d4c9244d3451c4c1a]] - &size(11){&color(gray){https://git.postgresql.org/gitweb/?p=postgresql.git;a=shortlog;h=refs/heads/REL_10_STABLE};};


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP