F.5. basebackup_to_shell — pg_basebackupモジュール"shell"の例 #

basebackup_to_shellは、shellという名前のカスタムbasebackupターゲットを追加します。 これにより、pg_basebackup --target=shellを実行するか、このモジュールの設定方法に応じてpg_basebackup --target=shell:DETAIL_STRINGを実行し、サーバ管理者が選択したサーバコマンドを、バックアッププロセスで生成されたtarアーカイブごとに実行させることができます。 コマンドは、標準入力を介してアーカイブの内容を受け取ります。

このモジュールは主に、拡張モジュールを使用して新しいバックアップ・ターゲットを作成する方法の例として作成されていますが、シナリオによってはそれ自体が役立つ場合があります。 このモジュールを機能させるには、shared_preload_librariesまたはlocal_preload_librariesを使用してロードする必要があります。

F.5.1. 設定パラメータ #

basebackup_to_shell.command (string)

バックアップ処理によって生成された各アーカイブに対してサーバが実行する必要があるコマンドです。 コマンド文字列に%fが含まれている場合は、アーカイブの名前に置き換えられます(例:base.tar)。 コマンド文字列に%dが含まれている場合は、ユーザーが指定したターゲット詳細に置き換えられます。 コマンド文字列に%dが使用されている場合は、ターゲット詳細が必要です。 それ以外の場合は禁止されています。 セキュリティ上の理由から、ターゲット詳細には英数字のみを使用できます。 %%がコマンド文字列に含まれている場合は、単一の%に置き換えられます。 %がコマンド文字列に含まれていて、その後に他の文字または文字列の末尾にある場合は、エラーが発生します。

basebackup_to_shell.required_role (string)

shellバックアップターゲットを使用するために必要なロールです。 これが設定されていない場合、レプリケーションユーザーはshellバックアップターゲットを使用できます。

F.5.2. 作者 #

Robert Haas