Skip to content

Commit

Permalink
Merge pull request #3184 from noborus/backport-17-bgworker
Browse files Browse the repository at this point in the history
bgworker.sgmlの17から16へのバックポート
  • Loading branch information
KenichiroTanaka authored Dec 18, 2024
2 parents 66d3389 + 05e9539 commit 986031e
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions doc/src/sgml/bgworker.sgml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
PostgreSQLはユーザ提供のコードを別のプロセスとして実行するように拡張できます。
このプロセスは<command>postgres</command>によって起動、終了、監視され、サーバの状態に密接にリンクした寿命を持つことができます。
これらのプロセスは<productname>PostgreSQL</productname>の共有メモリ領域にアタッチされ、データベースの内部に接続するオプションを持ちます。
これらはまた、通常のクライアントに接続された実際のサーバプロセスのように複数のトランザクションを連続して実行することができます
また、アプリケーションは<application>libpq</application>とリンクすることにより通常のクライアントアプリケーションのようにサーバに接続して動作することができます
これらはまた、通常のクライアントに接続された実際のサーバプロセスのように複数のトランザクションを連続して実行できます
また、アプリケーションは<application>libpq</application>とリンクすることにより通常のクライアントアプリケーションのようにサーバに接続して動作できます
</para>

<warning>
Expand Down Expand Up @@ -68,7 +68,7 @@ PostgreSQLはユーザ提供のコードを別のプロセスとして実行す
-->
バックグラウンドワーカーは、モジュールを<varname>shared_preload_libraries</varname>に記すことによって、<productname>PostgreSQL</productname>スタート時に初期化できます。
バックグラウンドワーカーとして実行したいモジュールは、<function>_PG_init()</function>関数から<function>RegisterBackgroundWorker(<type>BackgroundWorker</type> *<parameter>worker</parameter>)</function>を呼び出すことで登録できます。
バックグラウンドワーカーはシステム起動後も<function>RegisterDynamicBackgroundWorker(<type>BackgroundWorker</type> *<parameter>worker</parameter>, <type>BackgroundWorkerHandle</type> **<parameter>handle</parameter>)</function>を呼び出すことによって開始することができます
バックグラウンドワーカーはシステム起動後も<function>RegisterDynamicBackgroundWorker(<type>BackgroundWorker</type> *<parameter>worker</parameter>, <type>BackgroundWorkerHandle</type> **<parameter>handle</parameter>)</function>を呼び出すことによって開始できます
postmasterプロセスからのみ呼び出すことができる<function>RegisterBackgroundWorker</function>とは異なり、<function>RegisterDynamicBackgroundWorker</function>は通常のバックエンドまたは他のバックグラウンドワーカーから呼び出す必要があります。
</para>

Expand Down Expand Up @@ -107,7 +107,7 @@ typedef struct BackgroundWorker
the type somehow, but that is not strictly required.)
-->
<structfield>bgw_name</structfield>や<structfield>bgw_type</structfield>は、ログメッセージ、プロセス一覧、および同様の場面で使用される文字列です。
<structfield>bgw_type</structfield>は、同じ種類のバックグラウンドワーカーで全て同じになるため、例えば同じ種類のワーカーをプロセス一覧でグループ化することができます
<structfield>bgw_type</structfield>は、同じ種類のバックグラウンドワーカーで全て同じになるため、例えば同じ種類のワーカーをプロセス一覧でグループ化できます
一方で<structfield>bgw_name</structfield>は、特定のプロセスに関する追加情報を含むことができます。
(通常、<structfield>bgw_name</structfield>の文字列は何らかの形で種類に関する情報を含んでいますが、必須であるというわけではありません。)
</para>
Expand Down Expand Up @@ -147,7 +147,7 @@ typedef struct BackgroundWorker
<literal>BGWORKER_SHMEM_ACCESS</literal>, or worker start-up will fail.
-->
<indexterm><primary>BGWORKER_BACKEND_&zwsp;DATABASE_CONNECTION</primary></indexterm>
トランザクションやクエリの実行が出来るデータベース接続を要求します
トランザクションや問い合わせの実行が出来るデータベース接続を要求します
<literal>BGWORKER_BACKEND_DATABASE_CONNECTION</literal>を使用してデータベースに接続するバックグラウンドワーカーは<literal>BGWORKER_SHMEM_ACCESS</literal>を使用して共有メモリにアタッチしなければなりません。さもなければ起動時に失敗します。
</para>
</listitem>
Expand Down Expand Up @@ -176,8 +176,8 @@ typedef struct BackgroundWorker
<structfield>bgw_start_time</structfield>は、<command>postgres</command>がプロセスを起動するべきタイミングを指定します。
そのタイミングは、以下のうちの1つです。
<literal>BgWorkerStart_PostmasterStart</literal>(<command>postgres</command>自身が初期化を終えるとすぐに起動します。これを要求するプロセスはデータベース接続に望ましいものではありません)、
<literal>BgWorkerStart_ConsistentState</literal>(ホットスタンバイで一貫性のある状態に到達し、データベースに接続して参照のみのクエリが実行できるようになると起動します)、
<literal>BgWorkerStart_RecoveryFinished</literal>(システムが通常の参照/更新クエリを実行できるようになると起動します)。
<literal>BgWorkerStart_ConsistentState</literal>(ホットスタンバイで一貫性のある状態に到達し、データベースに接続して参照のみの問い合わせが実行できるようになると起動します)、
<literal>BgWorkerStart_RecoveryFinished</literal>(システムが通常の参照/更新の問い合わせを実行できるようになると起動します)。
最後の2つの値は、ホットスタンバイでないサーバでは同等であることに注意してください。
この設定はいつプロセスが起動されるかを示すだけであることに注意してください。
これらのプロセスは、違う状態になったときに停止するわけではありません。
Expand Down Expand Up @@ -261,7 +261,7 @@ Windowsの(どこか他の場所で<literal>EXEC_BACKEND</literal>が定義さ
accessed via <literal>MyBgworkerEntry</literal>, as discussed above.
-->
<structfield>bgw_extra</structfield>はバックグラウンドワーカーに渡す追加データを含めることが出来ます。
<structfield>bgw_main_arg</structfield>とは異なり、このデータはワーカーのメイン関数の引数として渡されていませんが、上述したように<literal>MyBgworkerEntry</literal>を介してアクセスすることが出来ます
<structfield>bgw_main_arg</structfield>とは異なり、このデータはワーカーのメイン関数の引数として渡されていませんが、上述したように<literal>MyBgworkerEntry</literal>を介してアクセスできます
</para>

<para>
Expand Down Expand Up @@ -368,7 +368,7 @@ Windowsの(どこか他の場所で<literal>EXEC_BACKEND</literal>が定義さ
バックグラウンドワーカーを<function>RegisterDynamicBackgroundWorker</function>関数により登録している場合、登録を実行するバックエンドはワーカーの状態に関する情報を取得することが可能です。
取得したい場合は<function>RegisterDynamicBackgroundWorker</function>に2番目の引数として<type>BackgroundWorkerHandle *</type>のアドレスを渡す必要があります。
もし登録に成功した場合、このポインタは後で<function>GetBackgroundWorkerPid(<parameter>BackgroundWorkerHandle *</parameter>,<parameter>pid_t *</parameter>)</function>または<function>TerminateBackgroundWorker(<parameter>BackgroundWorkerHandle *</parameter>)</function>に渡すことができるopaque(不透明)ハンドルで、初期化されます。
<function>GetBackgroundWorkerPid</function>はワーカーの状態を監視することができます。以下の返り値が得られます。
<function>GetBackgroundWorkerPid</function>はワーカーの状態を監視できます。以下の返り値が得られます。
<literal>BGWH_NOT_YET_STARTED</literal>ワーカーはまだpostmasterにより開始されていない。
<literal>BGWH_STOPPED</literal>開始されたが、もはや実行されていない。
<literal>BGWH_STARTED</literal>実行中です。
Expand Down

0 comments on commit 986031e

Please sign in to comment.