Barman client utilities ( barman-cli )

以前は別個のオープンソースプロジェクト barman-cli は、バージョン2.8からBarmanのコアにマージされ、RPM / Debianパッケージとして配布されています。 barman-cli には、 PostgreSQLサーバーと一緒にインストールする推奨クライアントユーティリティのセットが含まれています。

  • barman-wal-archive : archive_command として使用されるアーカイビングスクリプト 「 barman-wal-archive によるWALアーカイビング」セクションで説明されているように。

  • barman-wal-restore :のパートとして使用されるWAL復元スクリプト スタンバイおよびリカバリサーバーの restore_command リカバリオプション、 上記の「 get-wal 」セクションで説明されているとおり。

詳細については、特定のマニュアルページまたは --help オプションを参照してください。

インストール

Barmanクライアントユーティリティは通常、 PostgreSQLがインストールされている場所にインストールされます。プライマリまたはスタンバイであるすべてのPostgreSQLサーバーに barman-cli パッケージをインストールすることをお勧めします。

リポジトリをインストールするには、メインの「インストール」セクションを参照してください。

RedHat / CentOSシステムにパッケージをインストールするには、 root と入力します:

yum install barman-cli

Debian / Ubuntuでは、 root ユーザタイプとして:

apt-get install barman-cli

Barman client utilities for the Cloud ( barman-cli-cloud )

Barmanクライアントユーティリティは、オブジェクトストレージの統合をサポートし、サポートされているクラウドプロバイダーにWALファイルとバックアップを中継することにより、 PostgreSQLデータベースの災害リカバリ機能を強化するために拡張ました。

サポートされているクラウドプロバイダーは次のとおりです。

  • AWS S3(または任意のS3互換オブジェクトストア)

  • Azure Blob Storage

  • Google Cloud Storage(Rest API)

これらのユーティリティは barman-cli-cloud RPM / Debianパッケージで配布されており、 PostgreSQLサーバーと一緒にインストールできます。

aws-s3クラウドプロバイダーの資格情報をセットアップする方法については、 Credentials を参照してください。

azure-blob-storageクラウドプロバイダーの資格情報については、 Environment variables for authorization parameters を参照してください。次の環境変数がサポートされています: AZURE_STORAGE_CONNECTION_STRING 、 AZURE_STORAGE_KEY 、および AZURE_STORAGE_SAS_TOKEN 。 --credential オプションを使用して、 azure-cli または managed-identity の資格情報を指定して、Azure Active Directoryを介して認証オーダーこともできます。

警告

クラウドユーティリティには、使用するクラウドプロバイダーの適切なライブラリが必要です-( <a href="https://github.com/boto/boto3">https://github.com/boto/boto3</a> )[boto3]または( <a href="https://docs.microsoft.com/en-us/python/api/azure-storage-blob/?view=azure-python">https://docs.microsoft.com/en-us/ python / api / azure-storage-blob /? ビュー= azure-python</a> )[azure-storage-blob]および(オプション)( <a href="https://docs.microsoft.com/en-us/python/api/azure-identity/?view=azure-python">https://docs.microsoft.com/en-us/python/api/azure-identity /? ビュー= azure-python</a> )[azure-identity]

インストール

クラウド用のBarmanクライアントユーティリティは、 Barmanをバイパスして、クラウドプロバイダーに直接バックアップするPostgreSQLサーバーにインストールする必要があります。

barman-cloud-backup および/または barman-cloud-wal-archive をフックスクリプトとして使用する場合は、 barman-cli-cloud パッケージをBarmanサーバーにもインストールできます。

リポジトリをインストールするには、メインの「インストール」セクションを参照してください。

RedHat / CentOSシステムにパッケージをインストールするには、 root と入力します:

yum install barman-cli-cloud

Debian / Ubuntuでは、 root ユーザタイプとして:

apt-get install barman-cli-cloud

barman-cloudフックスクリプト

上記の説明に従って、 barman-cli-cloud パッケージをBarmanサーバーにインストールします。

PostgreSQLサーバーのBarman構成に次を追加して、 barman-cloud-backup をバックアップ後スクリプトとして構成します。

post_backup_retry_script = barman-cloud-backup [*OPTIONS*] *DESTINATION_URL* ${BARMAN_SERVER}

警告

フックスクリプトとして実行する場合、barman-cloud-backupではバックアップのステータスがDONEであることが必要であり、バックアップに他のステータスがある場合は失敗します。このため、バックアップのステータスが WAITING_FOR_WALS である間はフックスクリプトが実行されないように、 -w / --wait オプションを使用してバックアップを実行することをお勧めします。

PostgreSQLサーバーのBarman設定に次を追加して、 barman-cloud-wal-archive をWALアーカイブ前スクリプトとして設定します。

pre_archive_retry_script = barman-cloud-wal-archive [*OPTIONS*] *DESTINATION_URL* ${BARMAN_SERVER}

クラウドプロバイダーの選択

--cloud-provider オプションを使用して、バックアップとWALのクラウドプロバイダーを選択します。これは、次のいずれかに設定できます。

  • aws-s3 [デフォルト]:AWS S3またはS3互換オブジェクトストア。

  • azure-blob-storage :Azure Blob Storageサービス。

  • google-cloud-storage :Google Cloud Storageサービス。

プロバイダーごとの特異性

Google Cloud Storage

セットアップ

google_storage_client依存関係が必要です:bash pip3 install google-cloud-storage

資格情報を設定するには:

*バケットアクセス権の設定:

バケットのサービスアカウントに Storage Admin Role を与えることをお勧めします。

  • barman_cloudを使用する場合、バケットが存在しない場合は作成されます。デフォルトのオプションを使用して作成します バケツ。バケットに特定のオプション(リージョン、ストレージクラス、ラベル)が必要な場合は、作成することをお勧めします そして、必要なものすべてにマッチようにバケットを設定しニーズ。

postgres(archive_commandまたはrestore_command)からbarmanクラウドを実行している場合、postgres環境ファイルで GOOGLE_APPLICATION_CREDENTIALS を設定することを忘れないでください。

使用法

一部の詳細は、すべてのバーマンクラウドコマンドに固有です。 * Google Cloud Storage --cloud-provider=google-cloud-storage を選択 * SOURCE_URL はgsとhttpsフォーマットの両方をサポートします。 例: edb_notranlate_8 一部の詳細は、すべてのバーマンクラウドコマンドに固有です。 * Google Cloud Storage --cloud-provider=google-cloud-storage を選択 * SOURCE_URL はgsとhttpsフォーマットの両方をサポートします。 例: edb_notranlate_8