本文へ移動

サーバーコマンド(server)

pgBackRestのserverコマンドのオプションと動作のリファレンス。

pgBackRestサーバーは、SSHプロトコルを使用せずにリモートホストにアクセスできるようにします。

コマンドオプション

TLSサーバーアドレスオプション(--tls-server-address)

TLSサーバーのアドレスです。

サーバーがクライアントのリクエストを待ち受けるIPアドレスです。

default: localhost
example: --tls-server-address=*

TLSサーバー認可クライアントオプション(--tls-server-auth)

TLSサーバーで認可するクライアントです。

サーバーはクライアントの証明書を検証し、証明書のCN(Common Name)をtls-server-authオプションでサーバーに設定した一覧と照合することで、クライアントを認可します。

tls-server-authオプションにカンマ区切りの一覧を指定すると、クライアントのCNを必要な数のstanzaに対して認可できます。tls-server-auth=client-cn=*を指定すると、すべてのstanzaに対して認可できます。クライアントのCNにワイルドカードは指定できません。

example: --tls-server-auth=client-cn=stanza1,stanza2

TLSサーバー認証局オプション(--tls-server-ca-file)

TLSサーバーの認証局です。

クライアント証明書が信頼できる認証局によって署名されていることを確認します。

example: --tls-server-ca-file=/path/to/server.ca

TLSサーバー証明書オプション(--tls-server-cert-file)

TLSサーバーの証明書ファイルです。

サーバーの身元を示すためにクライアントに送信します。

example: --tls-server-cert-file=/path/to/server.crt

TLSサーバーキーオプション(--tls-server-key-file)

TLSサーバーのキーファイルです。

サーバー証明書が所有者によって送信されたことを証明します。

example: --tls-server-key-file=/path/to/server.key

TLSサーバーポートオプション(--tls-server-port)

TLSサーバーのポートです。

サーバーがクライアントのリクエストを待ち受けるポートです。

default: 8432
allowed: [1, 65535]
example: --tls-server-port=8000

一般オプション

rootでの実行許可オプション(--allow-root)

rootユーザーによるコマンドの実行を許可します。

デフォルトでは、ファイルの所有権を慎重に管理するように設計されたrestoreコマンドのみをrootユーザーで実行できます。ほかのコマンドをrootで実行すると、たとえばリポジトリ内にroot所有のファイルが作成され、PostgreSQLユーザーがアクセスできなくなって、後続のコマンドが失敗するおそれがあります。

それでもコマンドをrootで実行する場合は、このオプションを有効にします。ただし、リポジトリとPostgreSQLクラスターを所有するユーザーとしてpgBackRestを実行する方がはるかに適切です。

default: n
example: --allow-root

バッファーサイズオプション(--buffer-size)

I/O処理のバッファーサイズです。

コピー、圧縮、暗号化などの処理に使用するバッファーサイズです。使用するバッファーの数はオプションによって異なり、各処理で追加のメモリを使用する場合があります。たとえば、gz圧縮では256KiBのメモリを追加で使用する場合があります。

指定できる値は、16KiB、32KiB、64KiB、128KiB、256KiB、512KiB、1MiB、2MiB、4MiB、8MiB、16MiBです。

default: 1MiB
example: --buffer-size=2MiB

設定ファイルオプション(--config)

pgBackRestの設定ファイルです。

デフォルトとは異なる設定ファイルを指定するには、このオプションを使用します。

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_FILE
example: --config=/conf/pgbackrest/pgbackrest.conf

追加設定パスオプション(--config-include-path)

追加のpgBackRest設定ファイルへのパスです。

指定した場所にある拡張子.confの設定ファイルをpgBackRest設定ファイルと連結し、1つの設定ファイルとして扱います。

default: CFGOPTDEF_CONFIG_PATH "/" PROJECT_CONFIG_INCLUDE_PATH
example: --config-include-path=/conf/pgbackrest/conf.d

設定パスオプション(--config-path)

pgBackRest設定ファイルの基準パスです。

この設定は、--configと--config-include-pathの各オプションがコマンドラインで明示的に設定されていない場合に、それらのデフォルトの基準パスを上書きします。

たとえば、--config-path=/conf/pgbackrestだけを渡すと、--configのデフォルトは/conf/pgbackrest/pgbackrest.confに、--config-include-pathのデフォルトは/conf/pgbackrest/conf.dに設定されます。

default: CFGOPTDEF_CONFIG_PATH
example: --config-path=/conf/pgbackrest

I/Oタイムアウトオプション(--io-timeout)

I/Oのタイムアウトです。

接続および読み取り/書き込み処理に使用する、秒単位のタイムアウトです。

読み取り/書き込み処理全体がこのタイムアウト内に完了する必要はありませんが、わずか1バイトでも、何らかの進展が必要です。

default: 1m
allowed: [100ms, 1h]
example: --io-timeout=120

プロセス優先度設定オプション(--priority)

プロセスの優先度を設定します。

カーネルのスケジューラーがプロセスに与える優先度(niceness)を定義します。正の値は優先度を下げ、負の値は優先度を上げます。通常、プロセスには自身の優先度を上げる権限がありません。

allowed: [-20, 19]
example: --priority=19

プロトコルタイムアウトオプション(--protocol-timeout)

プロトコルのタイムアウトです。

ローカルまたはリモートのプロセスが、プロトコル層で新しいメッセージの受信を待つタイムアウトを秒単位で設定します。これにより、プロセスがメッセージを無期限に待ち続けることを防ぎます。

注記: protocol-timeoutオプションは、db-timeoutオプションより大きくする必要があります。

default: 31m
allowed: [100ms, 7d]
example: --protocol-timeout=630

キープアライブオプション(--sck-keep-alive)

キープアライブを有効にします。

ソケット接続でキープアライブメッセージを有効にします。

default: y
example: --no-sck-keep-alive

キープアライブ回数オプション(--tcp-keep-alive-count)

キープアライブの回数です。

接続が切れたと判断するまでに、応答がなくても許容するTCPキープアライブメッセージの数を指定します。

このオプションは、TCP_KEEPCNTソケットオプションをサポートするシステムで利用できます。

allowed: [1, 32]
example: --tcp-keep-alive-count=3

キープアライブ待機時間オプション(--tcp-keep-alive-idle)

キープアライブの待機時間です。

ネットワーク通信がない状態で、オペレーティングシステムがTCPキープアライブメッセージを送信するまでの時間を秒単位で指定します。

このオプションは、TCP_KEEPIDLEソケットオプションをサポートするシステムで利用できます。

allowed: [1, 3600]
example: --tcp-keep-alive-idle=60

キープアライブ間隔オプション(--tcp-keep-alive-interval)

キープアライブの送信間隔です。

応答のないTCPキープアライブメッセージを再送信するまでの時間を秒単位で指定します。

このオプションは、TCP_KEEPINTVLソケットオプションをサポートするシステムで利用できます。

allowed: [1, 900]
example: --tcp-keep-alive-interval=30

TLSv1.2暗号スイートオプション(--tls-cipher-12)

許可するTLSv1.2暗号スイートです。

pgBackRestクライアントとサーバー間のすべてのTLS接続は暗号化されます。デフォルトでは、オブジェクトストア(例:S3)への接続も暗号化されます。

注記: どのトランスポート接続でも、セキュリティーの最低要件はTLSv1.2です。

必要に応じて、受け入れる暗号スイートを調整できます。特別なセキュリティー要件がなければ、例に示す値が妥当な選択です。未設定(デフォルト)の場合は、使用するOpenSSLライブラリのデフォルトが適用されます。

example: --tls-cipher-12=HIGH:MEDIUM:+3DES:!aNULL

TLSv1.3暗号スイートオプション(--tls-cipher-13)

許可するTLSv1.3暗号スイートです。

pgBackRestクライアントとサーバー間のすべてのTLS接続は暗号化されます。デフォルトでは、オブジェクトストア(例:S3)への接続も暗号化されます。

注記: どのトランスポート接続でも、セキュリティーの最低要件はTLSv1.2です。

必要に応じて、受け入れる暗号スイートを調整できます。未設定(デフォルト)の場合は、使用するOpenSSLライブラリのデフォルトが適用されます。

example: --tls-cipher-13=TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256

ログオプション

コンソールログレベルオプション(--log-level-console)

コンソールに出力するログのレベルです。

次のログレベルをサポートします。

  • off - ログを一切記録しません(非推奨)
  • error - エラーのみを記録します
  • warn - 警告とエラーを記録します
  • info - 情報、警告、エラーを記録します
  • detail - 詳細、情報、警告、エラーを記録します
  • debug - デバッグ、詳細、情報、警告、エラーを記録します
  • trace - トレース(非常に詳細なデバッグ)、デバッグ、情報、警告、エラーを記録します
default: warn
example: --log-level-console=error

ファイルログレベルオプション(--log-level-file)

ファイルに記録するログのレベルです。

次のログレベルをサポートします。

  • off - ログを一切記録しません(非推奨)
  • error - エラーのみを記録します
  • warn - 警告とエラーを記録します
  • info - 情報、警告、エラーを記録します
  • detail - 詳細、情報、警告、エラーを記録します
  • debug - デバッグ、詳細、情報、警告、エラーを記録します
  • trace - トレース(非常に詳細なデバッグ)、デバッグ、情報、警告、エラーを記録します
default: info
example: --log-level-file=debug

標準エラーログレベルオプション(--log-level-stderr)

stderrに出力するログのレベルです。

stdout(log-level-consoleで指定)の代わりにstderrへ出力するログレベルを指定します。stderrにはタイムスタンプとプロセスを出力しません。

次のログレベルをサポートします。

  • off - ログを一切記録しません(非推奨)
  • error - エラーのみを記録します
  • warn - 警告とエラーを記録します
  • info - 情報、警告、エラーを記録します
  • detail - 詳細、情報、警告、エラーを記録します
  • debug - デバッグ、詳細、情報、警告、エラーを記録します
  • trace - トレース(非常に詳細なデバッグ)、デバッグ、情報、警告、エラーを記録します
default: off
example: --log-level-stderr=error

ログパスオプション(--log-path)

ログファイルを保存するパスです。

ログパスは、pgBackRestがログファイルを保存する場所です。log-level-file=offの場合、ログパスは不要です。

default: /var/log/pgbackrest
example: --log-path=/backup/db/log

ログタイムスタンプオプション(--log-timestamp)

ログのタイムスタンプを有効にします。

コンソールとファイルのログでタイムスタンプを有効にします。このオプションは、ドキュメント生成などの特殊な状況では無効にします。

default: y
example: --no-log-timestamp