The archive callbacks define the actual archiving behavior of the module. The server will call them as required to process each individual WAL file. アーカイブコールバックは、モジュールの実際のアーカイブ動作を定義します。 サーバは、個々のWALファイルを処理するために必要に応じてこれらを呼び出します。
The <function>startup_cb</function> callback is called shortly after the
module is loaded. This callback can be used to perform any additional
initialization required. If the archive module has any state, it can use
<structfield>state->private_data</structfield> to store it.
startup_cb
コールバックは、モジュールがロードされた直後に呼び出されます。
このコールバックは、必要な追加の初期化を実行するために使用できます。
アーカイブモジュールに状態がある場合は、state->private_data
を使用して保存できます。
typedef void (*ArchiveStartupCB) (ArchiveModuleState *state);
The <function>check_configured_cb</function> callback is called to determine
whether the module is fully configured and ready to accept WAL files (e.g.,
its configuration parameters are set to valid values). If no
<function>check_configured_cb</function> is defined, the server always
assumes the module is configured.
check_configured_cb
コールバックは、モジュールが完全に設定されていて、WALファイルを受け入れる準備ができているかどうかを判断するために呼び出されます(たとえば、構成パラメータが適切な値に設定されているかどうかを判断します)。
check_configured_cb
が定義されていない場合、サーバは常にモジュールが設定されていると想定します。
typedef bool (*ArchiveCheckConfiguredCB) (ArchiveModuleState *state);
If <literal>true</literal> is returned, the server will proceed with
archiving the file by calling the <function>archive_file_cb</function>
callback. If <literal>false</literal> is returned, archiving will not
proceed, and the archiver will emit the following message to the server log:
true
が返された場合、サーバはarchive_file_cb
コールバックを呼び出してファイルのアーカイブを続行します。
false
が返された場合、アーカイブは続行されず、アーカイバはサーバログに次のメッセージを出力します:
WARNING: archive_mode enabled, yet archiving is not configured
In the latter case, the server will periodically call this function, and
archiving will proceed only when it returns <literal>true</literal>.
後者の場合、サーバは定期的にこの関数を呼び出し、true
が返された場合のみアーカイブが続行されます。
When returning <literal>false</literal>, it may be useful to append some
additional information to the generic warning message. To do that, provide
a message to the <function>arch_module_check_errdetail</function> macro
before returning <literal>false</literal>. Like
<function>errdetail()</function>, this macro accepts a format string
followed by an optional list of arguments. The resulting string will be
emitted as the <literal>DETAIL</literal> line of the warning message.
《機械翻訳》false
を返すときに、一般的ワーニングメッセージに追加情報を追加すると便利な場合があります。
そのためには、arch_module_チェック_errdetail
マクロ前にメッセージを指定してfalse
を返します。
errdetail()
と同様に、このマクロはフォーマット文字列とそれに続くオプショナルリストの引数を受け入れます。
結果の文字列は、ワーニングメッセージのDETAIL
行として出力されます。
The <function>archive_file_cb</function> callback is called to archive a
single WAL file.
archive_file_cb
コールバックは、単一のWALファイルをアーカイブするために呼び出されます。
typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, const char *path);
If <literal>true</literal> is returned, the server proceeds as if the file
was successfully archived, which may include recycling or removing the
original WAL file. If <literal>false</literal> is returned or an error is thrown, the server will
keep the original WAL file and retry archiving later.
<replaceable>file</replaceable> will contain just the file name of the WAL
file to archive, while <replaceable>path</replaceable> contains the full
path of the WAL file (including the file name).
《マッチ度[89.655172]》true
が返された場合、サーバはファイルが正常にアーカイブされたかのように処理を進めます。
これには元のWALファイルのリサイクルまたは削除が含まれる場合があります。
false
が返された場合、サーバは元のWALファイルを保持し、後でアーカイブを再試行します。
file
にはアーカイブするWALファイルのファイル名だけが含まれ、path
にはWALファイルのフルパス(ファイル名を含む)が含まれます。
《機械翻訳》true
が返された場合、サーバはファイルが正常にアーカイブされたかのように処理され、includeはオリジナルWALファイルをリサイクルまたは削除する可能性があります。
false
が返された場合、またはエラーがスローされた場合、サーバは後でオリジナルWALファイルとリトライアーカイビングを保持します。
file
にはアーカイブするWALファイルのファイル名だけが含まれ、path
にはWALファイルのフルパス(ファイル名を含む)が含まれます。
The <function>archive_file_cb</function> callback is called in a
short-lived memory context that will be reset between invocations. If you
need longer-lived storage, create a memory context in the module's
<function>startup_cb</function> callback.
《機械翻訳》archive_file_cb
コールバックは、呼び出し間のリセットとなる存続期間の短いメモリコンテキストで呼び出されます。
存続期間の長いストレージが必要な場合は、モジュールのstartup_cb
コールバックにメモリコンテキストを作成します。
The <function>shutdown_cb</function> callback is called when the archiver
process exits (e.g., after an error) or the value of
<xref linkend="guc-archive-library"/> changes. If no
<function>shutdown_cb</function> is defined, no special action is taken in
these situations. If the archive module has any state, this callback should
free it to avoid leaks.
shutdown_cb
コールバックは、アーカイバプロセスが終了するとき(たとえばエラー後など)、またはarchive_libraryの値が変更されたときに呼び出されます。
shutdown_cb
が定義されていない場合、これらの状況では特別な処理は行われません。
アーカイブモジュールが何らかの状態を持っている場合、このコールバックはメモリリークを防ぐためにそれを解放すべきです。
typedef void (*ArchiveShutdownCB) (ArchiveModuleState *state);