本文へ移動

確認コマンド(check)

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

checkコマンドは、指定したstanzaのアーカイブとバックアップに対し、pgBackRestとarchive_command設定が正しく構成されていることを検証します。コマンドを実行するホストに設定されたすべてのリポジトリとデータベースの確認を試みます。必要なWALセグメントがアーカイブに到達せず、バックアップが不完全になるような設定ミス、特にアーカイブの設定ミスを検出します。このコマンドは、PostgreSQLホストまたはリポジトリホストで実行できます。スタンバイホストでも実行できますが、スタンバイではpg_switch_xlog()/pg_switch_wal()を実行できないため、リポジトリの設定のみをテストします。

PostgreSQLにWALセグメントのアーカイブを強制するため、pg_create_restore_point('pgBackRest Archive Check')とpg_switch_xlog()/pg_switch_wal()を呼び出します。

コマンドオプション

アーカイブ確認オプション(--archive-check)

バックアップの完了前に、WALセグメントがアーカイブに存在することを確認します。

バックアップの一貫性を確保するために必要なすべてのWALセグメントが、WALアーカイブに存在することを確認します。別のアーカイブ方法を使用していない限り、デフォルトのままにしておくことを推奨します。

archive-copyが有効な場合は、このオプションを有効にする必要があります。

default: y
example: --no-archive-check

アーカイブモード確認オプション(--archive-mode-check)

PostgreSQLのarchive_mode設定を確認します。

このオプションはデフォルトで有効で、PostgreSQLのarchive_mode=alwaysを禁止します。

スタンバイサーバーから送信されたWALセグメントは、プライマリーから送信されたWALセグメントと論理的には同じでも、チェックサムが異なる場合があります。競合を避けるため、複数のソースからのアーカイブを無効にすることを推奨します。

注意:

このオプションを無効にする場合は、archive-pushコマンドを通じてリポジトリに書き込むアーカイバーが1つだけであることを必ず確認してください。

default: y
example: --no-archive-mode-check

アーカイブタイムアウトオプション(--archive-timeout)

アーカイブのタイムアウトです。

各WALセグメントがpgBackRestのアーカイブリポジトリに到達するまで待機する最大時間を秒単位で設定します。このタイムアウトは、バックアップの一貫性に必要なWALセグメントのアーカイブを待つ際に、checkコマンドとbackupコマンドに適用されます。

default: 1m
allowed: [100ms, 1d]
example: --archive-timeout=30

スタンバイからのバックアップオプション(--backup-standby)

スタンバイクラスターからバックアップします。

プライマリークラスターの負荷を軽減するには、スタンバイからのバックアップを有効にします。このオプションでは、プライマリーとスタンバイの両方のホストを設定する必要があります。

次のモードをサポートします。

  • y - バックアップにスタンバイを必須とします。
  • prefer - スタンバイが利用可能ならスタンバイから、そうでなければプライマリーからバックアップします。
  • n - プライマリーからのみバックアップします。
default: n
example: --backup-standby=y

一般オプション

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

SSHクライアントコマンドオプション(--cmd-ssh)

SSHクライアントのコマンドです。

別のSSHクライアントを使用したい場合や、sshコマンドが$PATHに含まれていない場合に、使用するSSHクライアントコマンドを指定します。

default: ssh
example: --cmd-ssh=/usr/bin/ssh

ネットワーク圧縮レベルオプション(--compress-level-network)

ネットワークの圧縮レベルです。

compress-type=noneで、コマンドがリポジトリと同じホストで実行されない場合のネットワーク圧縮レベルを設定します。圧縮によってネットワークトラフィックを削減します。compress-typeがnoneでない場合は、ファイルを1回だけ圧縮するように、compress-level-network設定を無視して代わりにcompress-levelを使用します。

default: 1
allowed: [-5, 12]
example: --compress-level-network=1

設定ファイルオプション(--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

データベースタイムアウトオプション(--db-timeout)

データベースクエリーのタイムアウトです。

データベースに対するクエリーのタイムアウトを秒単位で設定します。これには、それぞれかなりの時間がかかる可能性があるバックアップの開始/停止関数も含まれます。そのため、これらの関数が速やかに戻ることがわかっている場合(つまり、start-fast=yを設定し、バックアップ中にデータベースクラスターが多数のWALセグメントを生成しないことがわかっている場合)を除き、タイムアウトは長めにしておくことを推奨します。

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

default: 30m
allowed: [100ms, 7d]
example: --db-timeout=600

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

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

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

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

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

固定umaskオプション(--neutral-umask)

固定のumaskを使用します。

umaskを0000に設定し、リポジトリ内のファイルやディレクトリが適切な権限で作成されるようにします。デフォルトのディレクトリ権限は0750、ファイル権限は0640です。

代わりに実行ユーザーのumaskを使用するには、設定ファイルにneutral-umask=n、またはコマンドラインに--no-neutral-umaskを指定します。

default: y
example: --no-neutral-umask

プロセス優先度設定オプション(--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

stanzaオプション(--stanza)

stanzaを定義します。

stanzaは、PostgreSQLデータベースクラスターの場所、バックアップ方法、アーカイブオプションなどを定義する設定です。ほとんどのデータベースサーバーにはPostgreSQLデータベースクラスターが1つだけ存在し、stanzaも1つになります。一方、バックアップサーバーには、バックアップが必要なデータベースクラスターごとにstanzaがあります。

stanzaにはプライマリークラスターにちなんだ名前を付けたくなりますが、クラスターに含まれるデータベースを表す名前の方が適しています。stanza名はプライマリーとすべてのレプリカで使用するため、mainやprodなどのローカルクラスター名よりも、appやdwなど、クラスターの実際の役割を表す名前を選ぶ方が適切です。

example: --stanza=main

キープアライブ回数オプション(--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-subprocess)

サブプロセスでのログ記録を有効にします。

このプロセスが作成するすべてのサブプロセスで、log-level-fileで指定したログレベルによるファイルへのログ記録を有効にします。

default: n
example: --log-subprocess

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

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

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

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

メンテナー向けオプション

PostgreSQLバージョン強制指定オプション(--pg-version-force)

PostgreSQLのバージョンを強制指定します。

pg_controlまたはWALヘッダーを読み取って自動検出したバージョンの代わりに、指定したPostgreSQLバージョンを使用します。これは主に、これらの値がリリース版とは異なるPostgreSQLのフォークや開発版で役立ちます。PostgreSQLがserver_version_numで報告するバージョンは、強制指定したバージョンと一致する必要があります。

警告:

このオプションは慎重に使用してください。pg_controlとWALヘッダーは引き続き、指定バージョンで想定される形式、つまり公式のオープンソース版PostgreSQLの形式で読み取られます。フォークや開発版が、pgBackRestの依存するフィールドの形式を変更していると、予期しない動作が生じます。一般に、このオプションが想定どおりに動作するのは、フォークが独自の構造体メンバーをすべて標準のPostgreSQLメンバーの後ろに追加している場合に限られます。

example: --pg-version-force=15

リポジトリオプション

Azureリポジトリコンテナーオプション(--repo-azure-container)

Azureリポジトリのコンテナーです。

リポジトリの保存に使用するAzureコンテナーです。

repo-path=/を設定するとpgBackRestリポジトリをコンテナーのルートに保存できますが、通常は/repoなどの接頭辞を指定し、ログなどのAzureが生成するコンテンツもコンテナーに保存できるようにすることを推奨します。

example: --repo1-azure-container=pg-backup

Azureリポジトリキー種別オプション(--repo-azure-key-type)

Azureリポジトリのキー種別です。

認可には次の種別をサポートします。

  • shared - 共有キー
  • sas - 共有アクセス署名
  • auto - AzureマネージドIDを使用して自動的に認可
default: shared
example: --repo1-azure-key-type=sas

AzureリポジトリURI形式オプション(--repo-azure-uri-style)

AzureのURI形式です。

次のURI形式をサポートします。

  • host - account.endpointホストに接続します。
  • path - endpointホストに接続し、URIの先頭にアカウントを付加します。
default: host
example: --repo1-azure-uri-style=path

リポジトリ暗号方式オプション(--repo-cipher-type)

リポジトリの暗号化に使用する暗号方式です。

次の暗号方式をサポートします。

  • none - リポジトリを暗号化しません
  • aes-256-cbc - 鍵長256ビットのAdvanced Encryption Standard

リポジトリの種類(例:S3)が暗号化をサポートしていても、暗号化は常にクライアント側で実行されます。

default: none
example: --repo1-cipher-type=aes-256-cbc

GCSリポジトリバケットオプション(--repo-gcs-bucket)

GCSリポジトリのバケットです。

リポジトリの保存に使用するGCSバケットです。

repo-path=/を設定するとpgBackRestリポジトリをバケットのルートに保存できますが、通常は/repoなどの接頭辞を指定し、ログなどのGCSが生成するコンテンツもバケットに保存できるようにすることを推奨します。

example: --repo1-gcs-bucket=/pg-backup

GCSリポジトリエンドポイントオプション(--repo-gcs-endpoint)

GCSリポジトリのエンドポイントです。

ストレージサービスへの接続に使用するエンドポイントです。ローカルのGCSサーバーや別のエンドポイントを使用するように変更できます。

default: storage.googleapis.com
example: --repo1-gcs-endpoint=localhost

GCSリポジトリキー種別オプション(--repo-gcs-key-type)

GCSリポジトリのキー種別です。

認可には次の種別をサポートします。

  • auto - インスタンスのサービスアカウントを使用して認可します。
  • service - ローカルに保存したキーでサービスアカウントを使用します。
  • token - fakegcsなどを使用するローカルテスト用です。

repo-gcs-key-type=serviceの場合、認証トークンの更新時に認証情報を再読み込みします。

default: service
example: --repo1-gcs-key-type=auto

GCSリポジトリプロジェクトIDオプション(--repo-gcs-user-project)

GCSのプロジェクトIDです。

リクエストの課金先を決定するために使用するGCSプロジェクトIDです。

example: --repo1-gcs-user-project=my-project

リポジトリホストオプション(--repo-host)

リモート操作時のリポジトリホストです。

ローカルにマウントされたファイルシステムにバックアップおよびアーカイブする場合、この設定は不要です。

example: --repo1-host=repo1.domain.com

非推奨の名前:backup-host

リポジトリホスト認証局ファイルオプション(--repo-host-ca-file)

リポジトリホストの認証局ファイルです。

リポジトリホストへの接続に、システムのデフォルト以外のCAファイルを使用します。

example: --repo1-host-ca-file=/etc/pki/tls/certs/ca-bundle.crt

リポジトリホスト認証局パスオプション(--repo-host-ca-path)

リポジトリホストの認証局パスです。

リポジトリホストへの接続に、システムのデフォルト以外のCAパスを使用します。

example: --repo1-host-ca-path=/etc/pki/tls/certs

リポジトリホスト証明書ファイルオプション(--repo-host-cert-file)

リポジトリホストの証明書ファイルです。

クライアントの身元を証明するためにリポジトリホストに送信します。

example: --repo1-host-cert-file=/path/to/client.crt

リポジトリホストコマンドオプション(--repo-host-cmd)

リポジトリホストのpgBackRestコマンドです。

pgBackRestコマンドのパスがローカルホストとリポジトリホストで異なる場合にのみ必要です。未定義の場合、リポジトリホストのコマンドにはローカルと同じコマンドを設定します。

default: [path of executed pgbackrest binary]
example: --repo1-host-cmd=/usr/lib/backrest/bin/pgbackrest

非推奨の名前:backup-cmd

リポジトリホスト設定オプション(--repo-host-config)

pgBackRestリポジトリホストの設定ファイルです。

リポジトリホスト上の設定ファイルの場所を設定します。リポジトリホストの設定ファイルがローカルの設定ファイルと異なる場所にある場合にのみ必要です。

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

非推奨の名前:backup-config

リポジトリホスト追加設定パスオプション(--repo-host-config-include-path)

pgBackRestリポジトリホストの追加設定パスです。

リポジトリホスト上の追加設定パスの場所を設定します。リポジトリホストの追加設定パスがローカルの追加設定パスと異なる場所にある場合にのみ必要です。

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

リポジトリホスト設定パスオプション(--repo-host-config-path)

pgBackRestリポジトリホストの設定パスです。

リポジトリホスト上の設定パスの場所を設定します。リポジトリホストの設定パスがローカルの設定パスと異なる場所にある場合にのみ必要です。

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

リポジトリホストキーファイルオプション(--repo-host-key-file)

リポジトリホストのキーファイルです。

クライアント証明書が所有者によって送信されたことを証明します。

example: --repo1-host-key-file=/path/to/client.key

リポジトリホストポートオプション(--repo-host-port)

repo-hostが設定されている場合のリポジトリホストのポートです。

リポジトリホストのプロトコルにデフォルト以外のポートを指定するには、このオプションを使用します。

注記: repo-host-type=sshの場合、repo-host-portにデフォルト値はありません。この場合、ポートはcmd-sshで指定したコマンドの設定に従います。

default (depending on repo-host-type):
    tls - 8432

allowed: [0, 65535]
example: --repo1-host-port=25

非推奨の名前:backup-ssh-port

リポジトリホストプロトコル種別オプション(--repo-host-type)

リポジトリホストのプロトコル種別です。

次のプロトコル種別をサポートします。

  • ssh - Secure Shell。
  • tls - pgBackRest TLSサーバー。
default: ssh
example: --repo1-host-type=tls

リポジトリホストユーザーオプション(--repo-host-user)

repo-hostが設定されている場合のリポジトリホストのユーザーです。

リポジトリホスト上の操作に使用するユーザーを定義します。postgresユーザーではなく、pgbackrestなどの別のユーザーを使用することを推奨します。リポジトリホストでPostgreSQLを実行する場合は、postgresユーザーをpgbackrestグループに追加することで、リポジトリの内容を誤って破損させずに読み取り権限を与えられます。

default: pgbackrest
example: --repo1-host-user=repo-user

非推奨の名前:backup-user

リポジトリパスオプション(--repo-path)

バックアップとアーカイブを保存するパスです。

リポジトリは、pgBackRestがバックアップを保存し、WALセグメントをアーカイブする場所です。

必要な容量を事前に見積もるのは難しい場合があります。まずいくつかバックアップを取得し、各種類(full/incr/diff)のバックアップサイズを記録して、1日当たりに生成されるWALの量を測定するのが最善です。これにより、必要な容量のおおよその見当が付きます。ただし、データベースの変化に伴い、必要量も時間とともに変わる可能性があります。

default: /var/lib/pgbackrest
example: --repo1-path=/backup/db/backrest

S3リポジトリバケットオプション(--repo-s3-bucket)

S3リポジトリのバケットです。

リポジトリの保存に使用するS3バケットです。

repo-path=/を設定するとpgBackRestリポジトリをバケットのルートに保存できますが、通常は/repoなどの接頭辞を指定し、ログなどのAWSが生成するコンテンツもバケットに保存できるようにすることを推奨します。

example: --repo1-s3-bucket=pg-backup

S3リポジトリエンドポイントオプション(--repo-s3-endpoint)

S3リポジトリのエンドポイントです。

選択したリージョンに対して有効なAWSエンドポイントを使用してください。

独自の構成やテスト構成では、repo-storage-ca-file、repo-storage-ca-path、repo-storage-host、repo-storage-port、repo-storage-verify-tlsの各オプションが役立つ場合があります。

example: --repo1-s3-endpoint=s3.amazonaws.com

S3リポジトリキー種別オプション(--repo-s3-key-type)

S3リポジトリのキー種別です。

次の種別をサポートします。

  • shared - 共有キー
  • auto - 一時認証情報を自動取得
  • web-id - ウェブID認証情報を自動取得
  • pod-id - EKS Pod Identityの認証情報を自動取得
  • process - プロセスを実行して認証情報を取得
default: shared
example: --repo1-s3-key-type=auto

S3リポジトリKMSキーIDオプション(--repo-s3-kms-key-id)

S3リポジトリのKMSキーです。

指定したAWS Key Management Serviceのキーを使用して、S3のサーバー側暗号化を有効にします。

example: --repo1-s3-kms-key-id=bceb4f13-6939-4be3-910d-df54dee817b7

S3認証プロセスコマンドオプション(--repo-s3-process-cmd)

S3の認証プロセスコマンドです。

一時的なS3認証情報を取得するために実行するコマンド(および任意の引数)です。リストの最初の要素がコマンドで、残りの要素はパラメーターとして渡します。

プロセスは、AccessKeyId、SecretAccessKey、SessionToken、Expirationフィールドを含むJSONを出力する必要があります。認証情報は有効期限の前に自動更新されます。形式の詳細は、プロセス認証情報プロバイダー を参照してください。

example: --repo1-s3-process-cmd=/usr/local/bin/get-credentials --repo1-s3-process-cmd=--role --repo1-s3-process-cmd=my-role

S3リポジトリリージョンオプション(--repo-s3-region)

S3リポジトリのリージョンです。

バケットを作成したAWSリージョンです。

example: --repo1-s3-region=us-east-1

S3リポジトリのリクエスタ支払いオプション(--repo-s3-requester-pays)

S3リポジトリのリクエスタ支払いです。

S3のリクエスタ支払いを有効にします。

default: n
example: --no-repo1-s3-requester-pays

S3リポジトリロールオプション(--repo-s3-role)

S3リポジトリのロールです。

repo-s3-key-type=autoの場合に、一時認証情報の取得に使用するAWSロール名(完全なARNではありません)です。

example: --repo1-s3-role=authrole

S3リポジトリサービスオプション(--repo-s3-service)

S3の署名サービスです。

SigV4認証で使用するS3署名サービスです。標準のS3エンドポイントでは、デフォルトはs3です。S3 Outpostsエンドポイントを使用する場合は、s3-outpostsに設定します。

default: s3
example: --repo1-s3-service=s3-outposts

S3リポジトリSTSエンドポイントオプション(--repo-s3-sts-host)

S3リポジトリのSTSエンドポイントです。

repo-s3-key-type=web-idを設定した場合に、一時認証情報の取得に使用するSTSエンドポイントです。リージョン別STSを使用するには、リージョン別エンドポイント(例:sts.us-east-1.amazonaws.com)を設定します。GovCloudや中国リージョンで必要になる場合や、レイテンシーを低減するために使用する場合があります。

default: sts.amazonaws.com
example: --repo1-s3-sts-host=sts.us-east-1.amazonaws.com

S3リポジトリURI形式オプション(--repo-s3-uri-style)

S3のURI形式です。

次のURI形式をサポートします。

  • host - bucket.endpointホストに接続します。
  • path - endpointホストに接続し、URIの先頭にバケットを付加します。
default: host
example: --repo1-s3-uri-style=path

SFTPリポジトリホストオプション(--repo-sftp-host)

SFTPリポジトリのホストです。

リポジトリが存在するSFTPホストです。

example: --repo1-sftp-host=sftprepo.domain

SFTPリポジトリホストフィンガープリントオプション(--repo-sftp-host-fingerprint)

SFTPリポジトリホストのフィンガープリントです。

SFTPリポジトリホストのフィンガープリントの生成方法は、repo-sftp-host-key-hash-typeと一致させてください。awk '{print $2}' ssh_host_xxx_key.pub | base64 -d | (md5sum or sha1sum) -bでフィンガープリントを生成します。sshホストキーは通常、/etc/sshディレクトリにあります。

example: --repo1-sftp-host-fingerprint=f84e172dfead7aeeeae6c1fdfb5aa8cf

SFTPホストキー確認方式オプション(--repo-sftp-host-key-check-type)

SFTPのホストキー確認方式です。

次のSFTPホストキー確認方式をサポートします。

  • strict - pgBackRestは~/.ssh/known_hostsファイルにホストキーを自動追加せず、ホストキーが変更されたホスト、または既知のホストファイルで見つからないホストへの接続を拒否します。このオプションでは、新しいホストをすべて手動で追加する必要があります。
  • accept-new - pgBackRestは新しいホストキーをユーザーの既知のホストファイルに自動追加しますが、ホストキーが変更されたホストへの接続は許可しません。
  • fingerprint - pgBackRestは、repo-sftp-host-fingerprintオプションで指定したフィンガープリントとホストキーを照合します。
  • none - ホストキーを確認しません。
default: strict
example: --repo1-sftp-host-key-check-type=accept-new

SFTPリポジトリホストキーハッシュ種別オプション(--repo-sftp-host-key-hash-type)

SFTPリポジトリのホストキーハッシュ種別です。

SFTPリポジトリのホストキーハッシュ種別です。SSHの開始時に、リモートシステムのホストキーのダイジェスト計算に使用するハッシュ種別を指定します。新しいバージョンのlibssh2は、md5とsha1に加えてsha256もサポートします。

example: --repo1-sftp-host-key-hash-type=sha256

SFTPリポジトリホストポートオプション(--repo-sftp-host-port)

SFTPリポジトリホストのポートです。

SFTPリポジトリホストのポートです。

default: 22
allowed: [1, 65535]
example: --repo1-sftp-host-port=22

SFTPリポジトリホストユーザーオプション(--repo-sftp-host-user)

SFTPリポジトリホストのユーザーです。

リポジトリの保存に使用するホスト上のユーザーです。

example: --repo1-sftp-host-user=pg-backup

SFTP既知ホストファイルオプション(--repo-sftp-known-host)

SFTPの既知のホストファイルです。

認証時に一致するSFTPホストを探す既知のホストファイルです。未指定の場合、pgBackRestはデフォルトで~/.ssh/known_hosts、~/.ssh/known_hosts2、/etc/ssh/ssh_known_hosts、/etc/ssh/ssh_known_hosts2を検索します。1つ以上のファイルパスを設定した場合は、それらを検索して一致を確認します。ファイルパスは絶対パス、または先頭がチルダのパスである必要があります。repo-sftp-known-hostオプションを複数回指定することで、検索する既知のホストファイルを複数指定できます。既知のホストファイルによる確認を使用するには、repo-sftp-host-fingerprintを指定してはいけません。repo-sftp-host-check-typeオプションも参照してください。

example: --repo1-sftp-known-host=/home/postgres/.ssh/known_hosts

SFTPリポジトリ秘密鍵ファイルオプション(--repo-sftp-private-key-file)

SFTPの秘密鍵ファイルです。

認証に使用するSFTP秘密鍵ファイルです。

example: --repo1-sftp-private-key-file=~/.ssh/id_ed25519

SFTPリポジトリ公開鍵ファイルオプション(--repo-sftp-public-key-file)

SFTPの公開鍵ファイルです。

認証に使用するSFTP公開鍵ファイルです。OpenSSLに対してコンパイルした場合は任意ですが、別のライブラリに対してコンパイルした場合は必須です。

example: --repo1-sftp-public-key-file=~/.ssh/id_ed25519.pub

リポジトリストレージCAファイルオプション(--repo-storage-ca-file)

リポジトリストレージのCAファイルです。

ストレージ(例:S3、Azure)の証明書に、システムのデフォルト以外のCAファイルを使用します。

example: --repo1-storage-ca-file=/etc/pki/tls/certs/ca-bundle.crt

非推奨の名前:repo-azure-ca-file, repo-s3-ca-file

リポジトリストレージTLS CAパスオプション(--repo-storage-ca-path)

リポジトリストレージのCAパスです。

ストレージ(例:S3、Azure)の証明書に、システムのデフォルト以外のCAパスを使用します。

example: --repo1-storage-ca-path=/etc/pki/tls/certs

非推奨の名前:repo-azure-ca-path, repo-s3-ca-path

リポジトリストレージホストオプション(--repo-storage-host)

リポジトリストレージのホストです。

ストレージ(例:S3、Azure)のエンドポイントとは異なるホストに接続します。通常はテストに使用します。

example: --repo1-storage-host=127.0.0.1

非推奨の名前:repo-azure-host, repo-s3-host

リポジトリストレージポートオプション(--repo-storage-port)

リポジトリストレージのポートです。

ストレージ(例:S3、Azure)のエンドポイント(ホストを指定した場合はそのホスト)への接続に使用するポートです。

default: 443
allowed: [1, 65535]
example: --repo1-storage-port=9000

非推奨の名前:repo-azure-port, repo-s3-port

リポジトリストレージタグオプション(--repo-storage-tag)

リポジトリストレージのタグです。

リポジトリがオブジェクトストア(例:S3)の場合に、オブジェクトに付加するタグを指定します。このオプションを繰り返して、複数のタグを追加できます。

pgBackRestにはこれらのタグを変更する機能がないため、リポジトリ全体でタグを統一するには、stanza-createを実行する前に正しく設定してください。

example: --repo1-storage-tag=key1=value1

リポジトリストレージアップロードチャンクサイズオプション(--repo-storage-upload-chunk-size)

リポジトリストレージのアップロードチャンクサイズです。

S3などのオブジェクトストアでは、ファイルが大きすぎてメモリに格納できない場合に、チャンクに分けてアップロードできます。ファイルをメモリに格納できる場合でも、アップロードに使用するメモリ量を制限する方がメモリ効率は高くなります。

チャンクサイズを大きくすると、アップロードリクエストを最小限に抑え、チャンク分割せずに1回のリクエストでアップロードできるファイルが増えるため、一般にパフォーマンスが向上します。一方、メモリ使用量は増加します。チャンクバッファーはプロセスごとに割り当てる必要があるため、process-maxの値が大きいほど、全体のメモリ消費量も増えます。

有効なチャンクサイズは、ストレージの種類やプラットフォームによって異なります。たとえば、AWS S3の最小チャンクサイズは5MiBです。チャンクサイズの呼び方もストレージの種類によって異なるため、最小値/最大値を調べる際は、AWS S3では「part size」、GCSでは「chunk size」、Azureでは「block size」を使用してください。

ファイルが1GiB(PostgreSQLがデフォルトで作成する最大サイズ)より大きい場合、ファイルのアップロードを完了するために、許容される最大値までチャンクサイズを段階的に増やします。

default (depending on repo-type):
    azure - 4MiB
    gcs - 4MiB
    s3 - 5MiB

allow range (depending on repo-type):
    azure - [4MiB, 1GiB]
    gcs - [4MiB, 1GiB]
    s3 - [5MiB, 1GiB]

example: --repo1-storage-upload-chunk-size=16MiB

リポジトリストレージ証明書検証オプション(--repo-storage-verify-tls)

リポジトリストレージの証明書を検証します。

このオプションでは、ストレージ(例:S3、Azure)サーバーのTLS証明書の検証を有効/無効にできます。無効化は、テストや自己署名証明書を使用する場合に限ってください。

default: y
example: --no-repo1-storage-verify-tls

非推奨の名前:repo-azure-verify-tls, repo-s3-verify-ssl, repo-s3-verify-tls

リポジトリ種別オプション(--repo-type)

リポジトリに使用するストレージの種類です。

次のリポジトリ種類をサポートします。

  • azure - Azure Blob Storage Service
  • cifs - posixと同様ですが、リンクとディレクトリのfsyncを無効にします
  • gcs - Google Cloud Storage
  • posix - Posix準拠のファイルシステム
  • s3 - AWS Simple Storage Service
  • sftp - Secure File Transfer Protocol

NFSマウントをposixリポジトリとして使用する場合、PostgreSQLのドキュメントに記載されたものと同じ規則がpgBackRestにも適用されます。データベースクラスターの作成 - ファイルシステム を参照してください。

default: posix
example: --repo1-type=cifs

stanzaオプション

PostgreSQLデータベースオプション(--pg-database)

PostgreSQLのデータベースです。

PostgreSQLへの接続に使用するデータベース名です。通常はデフォルトが最適ですが、このデータベースが存在しない環境もあります。

従来の動作を維持するため、環境変数PGDATABASEの設定は無視されます。

default: postgres
example: --pg1-database=backupdb

PostgreSQLホストオプション(--pg-host)

リモート操作時のPostgreSQLホストです。

PostgreSQLホストとリポジトリホストが異なる場合のバックアップに使用します。

example: --pg1-host=db.domain.com

非推奨の名前:db-host

PostgreSQLホスト認証局ファイルオプション(--pg-host-ca-file)

PostgreSQLホストの認証局ファイルです。

PostgreSQLホストへの接続に、システムのデフォルト以外のCAファイルを使用します。

example: --pg1-host-ca-file=/etc/pki/tls/certs/ca-bundle.crt

PostgreSQLホスト認証局パスオプション(--pg-host-ca-path)

PostgreSQLホストの認証局パスです。

PostgreSQLホストへの接続に、システムのデフォルト以外のCAパスを使用します。

example: --pg1-host-ca-path=/etc/pki/tls/certs

PostgreSQLホスト証明書ファイルオプション(--pg-host-cert-file)

PostgreSQLホストの証明書ファイルです。

クライアントの身元を証明するためにPostgreSQLホストに送信します。

example: --pg1-host-cert-file=/path/to/client.crt

PostgreSQLホストコマンドオプション(--pg-host-cmd)

PostgreSQLホストのpgBackRestコマンドです。

pgBackRestコマンドのパスがローカルホストとPostgreSQLホストで異なる場合にのみ必要です。未定義の場合、PostgreSQLホストのコマンドにはローカルと同じコマンドを設定します。

default: [path of executed pgbackrest binary]
example: --pg1-host-cmd=/usr/lib/backrest/bin/pgbackrest

非推奨の名前:db-cmd

PostgreSQLホスト設定オプション(--pg-host-config)

pgBackRestデータベースホストの設定ファイルです。

PostgreSQLホスト上の設定ファイルの場所を設定します。PostgreSQLホストの設定ファイルがローカルの設定ファイルと異なる場所にある場合にのみ必要です。

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

非推奨の名前:db-config

PostgreSQLホスト追加設定パスオプション(--pg-host-config-include-path)

pgBackRestデータベースホストの追加設定パスです。

PostgreSQLホスト上の追加設定パスの場所を設定します。PostgreSQLホストの追加設定パスがローカルの追加設定パスと異なる場所にある場合にのみ必要です。

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

PostgreSQLホスト設定パスオプション(--pg-host-config-path)

pgBackRestデータベースホストの設定パスです。

PostgreSQLホスト上の設定パスの場所を設定します。PostgreSQLホストの設定パスがローカルの設定パスと異なる場所にある場合にのみ必要です。

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

PostgreSQLホストキーファイルオプション(--pg-host-key-file)

PostgreSQLホストのキーファイルです。

クライアント証明書が所有者によって送信されたことを証明します。

example: --pg1-host-key-file=/path/to/client.key

PostgreSQLホストポートオプション(--pg-host-port)

pg-hostが設定されている場合のPostgreSQLホストのポートです。

PostgreSQLホストのプロトコルにデフォルト以外のポートを指定するには、このオプションを使用します。

注記: pg-host-type=sshの場合、pg-host-portにデフォルト値はありません。この場合、ポートはcmd-sshで指定したコマンドの設定に従います。

default (depending on pg-host-type):
    tls - 8432

allowed: [0, 65535]
example: --pg1-host-port=25

非推奨の名前:db-ssh-port

PostgreSQLホストプロトコル種別オプション(--pg-host-type)

PostgreSQLホストのプロトコル種別です。

次のプロトコル種別をサポートします。

  • ssh - Secure Shell。
  • tls - pgBackRest TLSサーバー。
default: ssh
example: --pg1-host-type=tls

PostgreSQLホストユーザーオプション(--pg-host-user)

pg-hostが設定されている場合のPostgreSQLホストへのログインユーザーです。

このユーザーはリモートのpgBackRestプロセスも所有し、PostgreSQLへの接続を開始します。正しく動作させるには、PostgreSQLデータベースクラスターの所有者を使用してください。通常はデフォルトのpostgresです。

default: postgres
example: --pg1-host-user=db_owner

非推奨の名前:db-user

PostgreSQLパスオプション(--pg-path)

PostgreSQLのデータディレクトリです。

PostgreSQLが報告するdata_directoryと同じ値を設定してください。この値はさまざまな場所から読み取れますが、リストアやオフラインバックアップ時にそれらを利用できない場合に備えて、設定しておくことが賢明です。

pg-pathオプションは、オンラインバックアップのたびにPostgreSQLが報告する値と照合されるため、常に最新の値であるはずです。

example: --pg1-path=/data/db

非推奨の名前:db-path

PostgreSQLポートオプション(--pg-port)

PostgreSQLのポートです。

PostgreSQLが使用しているポートです。ほとんどのPostgreSQLクラスターはデフォルトのポートを使用するため、通常は指定する必要がありません。

default: 5432
allowed: [0, 65535]
example: --pg1-port=6543

非推奨の名前:db-port

PostgreSQLソケットパスオプション(--pg-socket-path)

PostgreSQLのunixソケットパスです。

PostgreSQLの起動時に指定したunixソケットディレクトリです。pgBackRestはOSの標準の場所を自動検索するため、postgresql.confのunix_socket_directories設定でソケットディレクトリを明示的に変更した場合を除き、通常はこの設定を指定する必要がありません。

example: --pg1-socket-path=/var/run/postgresql

非推奨の名前:db-socket-path

PostgreSQLデータベースユーザーオプション(--pg-user)

PostgreSQLのデータベースユーザーです。

PostgreSQLへの接続に使用するデータベースユーザー名です。未指定の場合、pgBackRestはローカルのOSユーザーまたはPGUSERで接続します。

example: --pg1-user=backupuser