1 はじめにEDB バックアップ そして 回復 ツール ( BART )は、複数のローカルまたはリモートEDB Postgres™Advanced ServerおよびPostgreSQL®データベースサーバーのバックアップおよびリカバリ管理を簡素化する管理ユーティリティです。
1.1 新機能
• MBMファイルを待機するためのタイムアウト値を指定するための新しいパラメータ( mbm - scan - timeout )が導入されました。値がコマンドラインで割り当てられていない場合、デフォルト値は20秒に設定されます。
以下の説明では、 用語は、言語キーワード、ユーザー指定の値、リテラルなどである任意の単語または単語のグループを指します。用語の正確な意味は、それが使用される文脈によって異なります。
• イタリック体のフォント は、通常は初めて定義する文章の中に新しい用語を導入します。
• Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブル名および列名、プログラミング言語のキーワード など、文字通りに与えなければならない用語に使用され ます 。例えば、 SELECT * FROM emp;
•
•
•
•
• この文書の多くの情報はPostgreSQLとEDB Postgres Advanced Serverデータベースシステムに互換的に適用されます。 Advanced Server という用語はEDB Postgres Advanced Serverを指すために使用されます。 Postgresという用語は、PostgreSQLとAdvanced Serverの両方を総称的に指すために使用されます。これら2つのデータベースシステムを区別する必要がある場合は、特定の名前(PostgreSQLまたはAdvanced Server)が使用されます。
• PostgreSQLまたはAdvanced Server製品のインストールディレクトリパスは POSTGRES_INSTALL_HOME と呼ばれます。 PostgreSQL Linuxインストールの場合、これはデフォルトで/opt/PostgreSQL/ x .バージョン10以前の場合はx 。それ以降のバージョンでは、PostgreSQLコミュニティパッケージを使用してください。バージョン10以前の対話式インストーラを使用して実行されたAdvanced Server Linuxインストールの場合、これはデフォルトで/opt/PostgresPlus/ x . x ASまたは/opt/edb/as x . x 。 RPMパッケージを使用して実行されたAdvanced Server Linuxインストールの場合、これはデフォルトで/usr/ppas- x . xまたは/usr/edb/as x . x 。製品のバージョン番号はxで表され. xまたはバージョン10以降の場合はxx 。バージョン11のRPMパッケージを使用して実行されたAdvanced Server Linuxインストールの場合、これはデフォルトで/usr/edb/as11ます。
1.4 前提条件1.4.1 サポートされているプラットフォーム
• 注: BARTは現在64ビットプラットフォームでのみ動作します。1.4.2 サポートされているデータベースのバージョン注: Advanced Serverバージョン11のinitdb --wal-segsizeオプションを使用して作成できるなど、デフォルトサイズの16 MB以外のWALセグメントファイルサイズを含むデータベースクラスタからバックアップを--wal-segsizeできます。Advanced Serverの initdb --wal-segsizeオプションについては、次のWebサイトにある 『 EDB Postgres Advanced Server 11ガイド 』の3.7 「カスタマイズ可能なWALセグメントファイルサイズ」を参照してください。
1.4.3 ソフトウェア要件1.4.3.1 BARTホストコンポーネント
• Postgresの libpqライブラリ
• Postgresの pg_basebackupユーティリティプログラム。スタンバイサーバーからバックアップを取り、特定の条件で任意のデータベースサーバーからフルバックアップを取ります。BARTホストコンポーネントは、EnterpriseDB RPMパッケージを使用してインストールされています。これらのコンポーネントのインストール方法については、セクション 3.1を参照してください 。1.4.3.2 追加コンポーネント
•
• SSHとSCPクライアントプログラムは、BARTのホスト上だけでなく、リモート・データベース・サーバーのホスト上で使用可能でなければなりません。
1.4.4 pg_basebackupの制限
•
• 有効なスレッド数は1で、 --no-pg_basebackupオプションはBACKUPサブコマンドではBACKUPされていません。 BART設定ファイルでthread_countパラメータを設定するthread_countについては、セクション4.1および4.2.5を参照してください。BART設定ファイルのグローバルセクションで、パラメータ pg_basebackup_pathはpg_basebackupプログラムへの完全なディレクトリパスを指定します。このパラメータについては4.1節を参照してください。pg_basebackupで入手可能なPostgreSQLのコア・ドキュメントを参照してください。データベースサーバは 、データベースサーバのバージョンと同じまたはそれ以降のバージョンのpg_basebackupを使用してのみバックアップできます。たとえば、 pg_basebackupバージョン9.5ではデータベースサーバーバージョン9.5をバックアップできますが、データベースサーバーバージョン9.6のバックアップには使用できません。
2 概要
• ブロックレベルの増分バックアップ と呼ばれるデータベースクラスタの変更されたイメージの取得 。これはフルバックアップと似ていますが、すべてのフルリレーションファイルではなく、前回のバックアップ以降に変更されたリレーションファイルの変更ブロックを含みます。
• データベースファイルに加えられる変更を継続的に記録する先行書き込みログセグメント (WALファイル)のアーカイブ
• 実行連続と共にフルバックアップ使用してタイムラインに対して指定されたトランザクションIDやタイムスタンプにポイントインタイムリカバリ (PITR)をブロックレベルの増分バックアップ同じバックアップチェーンに存在し、そしてWALファイル注:スタンバイサーバーの場合は、フルバックアップのみを取ることができます。増分バックアップはスタンバイサーバーからは取得できません。スタンバイサーバーについては、次のWebサイトで入手可能なPostgreSQLコアドキュメントを参照してください。
• BARTホスト BARTがインストールされているホストシステム。 BART操作はこのホストシステムから呼び出されます。データベースサーバのバックアップとアーカイブされたWALファイルもこのホストに保存されます。
• BARTユーザーアカウント BARTを実行することを選択したLinuxオペレーティングシステムのユーザーアカウント。 BARTユーザーアカウントはBARTバックアップカタログディレクトリを所有しています。
• BART設定ファイル BARTによって使用される構成情報を含む編集可能なテキスト形式のファイル。
• BARTバックアップカタログ。 BARTによって管理されているデータベースサーバーのすべてのバックアップおよびアーカイブされたWALファイルを含むファイルシステムディレクトリ構造。
• BART Backupinfoファイル。 BARTバックアップに関する情報を含むテキスト形式のファイル。 backupinfoファイルは、BARTバックアップカタログ内の各バックアップサブディレクトリにあります。
• BARTコマンドラインユーティリティプログラム。すべてのBART操作を開始するために使用されるbartという名前の単一の実行可能ファイル。
• BART WALスキャナープログラム。 bart-scannerという名前の単一の実行可能ファイル。WALファイルをスキャンして、増分バックアップ用に変更されたブロックを見つけて記録するために使用されます。
• Postgresデータベースクラスタ。一般にデータディレクトリとも呼ばれる、これは特定のPostgresデータベースサーバインスタンスに関連するすべてのデータファイルが格納されるファイルシステムディレクトリです。データベースクラスタは、Postgres initdbコマンドおよびpg_ctlコマンドによって作成、起動、停止などが行われるときに、 –Dオプションによって識別されます。通常、デフォルトでは、初期データベースクラスタはPOSTGRES_INSTALL_HOME /dataディレクトリにあり/data 。フルバックアップはデータベースクラスタのコピーです。注:単一のデータベースサーバーで複数のデータベースクラスターを実行することはできますが、データベースクラスターとデータベースサーバーという用語は、この文書では同じ意味で使われています。
• Postgresのユーザーアカウント Advanced ServerまたはPostgreSQLデータベースサーバを実行し、データベースクラスタディレクトリを所有するLinuxオペレーティングシステムのユーザアカウント。
○
○ Advanced ServerがPostgreSQL互換モードでインストールされている場合、デフォルトではデータベースユーザアカウントは postgresです。
○ PostgreSQLデータベースサーバの場合、デフォルトのデータベースユーザアカウントも postgresです。
• レプリケーションデータベースユーザー。 BARTによって管理される各データベースサーバーに対して、データベーススーパーユーザーを選択して、レプリケーションデータベースユーザーとして機能させる必要があります。このデータベースユーザーは、バックアップが行われるときにデータベースサーバーに接続するために使用されます。最初のPostgresデータベースサーバインストール( enterprisedbまたはpostgres )で作成されたデータベーススーパーユーザは、この目的に使用できます。
• セキュアシェル(SSH)/セキュアコピー(SCP)。 Linuxユーティリティプログラムは、ホストへのログイン(SSH)およびホスト間でのファイルのコピー(SCP)に使用されていました。ターゲットホストに存在する有効なユーザーアカウントを指定する必要があります。有効なユーザーアカウントは、SSHまたはSCP操作が行われるユーザーアカウントです。
2.1 ブロックレベルの増分バックアップ
2.1.1 増分バックアップの制限事項と要件
• 増分バックアップは、スタンバイ・データベース・サーバで撮影することはできません。スタンバイデータベースサーバーからはフルバックアップのみを取得できます。
•
• BART構成ファイルでは、 cluster_ownerパラメーターを、増分バックアップの元となるデータベースクラスターのディレクトリを所有するLinuxオペレーティングシステムのユーザーアカウントに設定する必要があります。 allow_incremental_backupsパラメータを有効にする必要があります。詳細は項4.2.5を参照してください。
• BARTホスト上のBARTユーザアカウントとデータベースサーバ上のcluster_ownerユーザアカウントの間に、パスワードなしのSSH / SCP接続を確立する必要があります。 注: BARTとデータベースサーバが同じホストで実行されていて、BARTユーザアカウントとcluster_ownerユーザアカウントが同じアカウントである場合でも、このパスワードなしのSSH / SCP接続を確立する必要があります。詳しくは4.2.1項を参照してください。
• BARTバックアップカタログが存在するBARTホストに加えて、BARTパッケージも、増分バックアップを復元するすべてのリモートデータベースサーバにインストールする必要があります。増分バックアップを復元するには、BART構成ファイルのremote_hostパラメーターで指定されたリモート・ユーザー、またはRESTOREサブコマンドを使用して増分バックアップを復元するときの-rオプションで指定されたリモート・ユーザーがbartプログラムをリモート・ホストで実行できる必要があります。リモートホストでの増分バックアップの復元については、 2.1.5.2項を参照してください。
• リモートデータベースサーバーで増分バックアップを復元するには、BARTホスト上のBARTユーザーアカウントから BART構成ファイルのremote_hostパラメーターで指定されたリモートホスト上のリモートユーザーへ、パスワードなしのSSH / SCP接続を確立する必要があります。または、 RESTOREサブコマンドを使用して増分バックアップを復元するときに-rオプションを指定します。リモートホストでの増分バックアップの復元については、 2.1.5.2項を参照してください。
• BARTバックアップカタログ内のアーカイブされたWALファイルの圧縮は、増分バックアップが行われるデータベースサーバーに対しては許可されていません。 BART構成ファイルの wal_compression設定は、これらのデータベースサーバーに対して有効にしないでください。グローバルセクションまたはサーバーセクションでパラメータが変更されていない限り、無効がデフォルト設定です。 wal_compressionパラメータについては、セクション4.1および4.2.5を参照してください。
•
2.1.2 概念の概要
1。
3。
4。
5。 増分バックアップは、 BACKUPサブコマンドと--parentオプションを使用して 、前のフルバックアップまたは増分バックアップのバックアップIDまたは名前を指定します。すべてのバックアップが同じタイムラインに属している限り、以前のバックアップを親として選択できます。
6。 増分バックアッププロセスは、親バックアップが作成されてから増分バックアップの開始点までの間にどのWALファイルに変更が含まれている可能性があるかを識別します。対応するMBMファイルは、修正されたブロックを他のデータベースクラスタディレクトリおよびファイルと共に増分バックアップディレクトリに配置してコピーするために使用される。すべての完全なリレーションファイルをバックアップする代わりに、変更されたブロックのみがコピーされて保存されます。さらに、関連するMBMファイルは、増分バックアップとともに保管される1つの統合ブロック・マップ(CBM)ファイルに圧縮されます。 注:複数のブロックコピースレッドを使用して、変更されたブロックを増分バックアップディレクトリにコピーすることができます。 BART設定ファイルでthread_countパラメータを設定するthread_countについては、セクション4.1および4.2.5を参照してください。 BACKUPサブコマンドで--thread-countオプションを使用する--thread-countについては、 5.4.3項を参照してください。
7。 増分バックアップのリストア処理は、フルバックアップのリストアと同じ方法でRESTOREサブコマンドを使用して呼び出されます 。 -iオプションは、復元する増分バックアップのバックアップIDまたは名前を指定します。復元プロセスは、チェーンを開始する最初のフルバックアップが識別されるまで、過去の親の増分バックアップのチェーンをたどることから始まります。このフルバックアップは、 -pオプションで指定された場所に復元されるディレクトリとファイルの初期セットを提供します。
2.1.3 WALスキャン - 増分バックアップの準備親バックアップの時点から増分バックアップの開始時点までに作成されたWALファイルは、WALスキャナープログラム bart-scanner によってスキャンされ、どのブロックが親バックアップ以降に変更されたかが判別されます。backup_path は、BART構成ファイルのグローバルセクションで指定されたBARTバックアップカタログの親ディレクトリです。server_name は、BART構成ファイルのserverセクションでこのデータベースサーバーに指定されているデータベースサーバー名を小文字に変換したものです。MBMファイルの拡張子は .mbmです。注: rsyncユーティリティを使用してWARTファイルをBARTバックアップカタログにコピーする場合など、特定の状況下では、WALファイルはスキャンおよびMBMファイルの作成のためにWALスキャナプログラムによって見逃される可能性があります。 BART設定ファイルのscan_intervalパラメータを使用して、BARTバックアップカタログのアーカイブディレクトリにあるWALファイルを強制的にスキャンし、MBMファイルが確実に生成されるようにします。セクションを参照してください4.1 、 4.2.5 、および5.5の情報のために。WALスキャナの使用方法については、 5.5 項を参照してください 。
2.1.4 増分バックアップの実行MBMファイルからの情報は、 統合ブロックマップ (CBM)ファイルと呼ばれる1つのファイルに統合される 。増分バックアップの復元操作中に、CBMファイルを使用して、そのバックアップ用に復元される変更済みブロックを識別します。
2.1.5 増分バックアップの復元
•
• bartため、プログラムは、リモートホスト上で利用可能でなければならないRESTOREの実行中に増分バックアップ結果のサブコマンド呼び出しをbart復元ディレクトリ内の適切な場所に変更されたブロックを復元するために、リモートホスト上のプログラム。2.1.5.1 増分バックアップの一般的な復元プロセスバックアップIDまたは名前を指定し、 RESTOREサブコマンドを呼び出して増分バックアップを復元するときに-iオプションを含めます。完全バックアップを復元する場合と同じ方法で、すべてのRESTOREオプションが使用されます。増分バックアップを復元するためのRESTOREサブコマンドの使用方法については、 5.4.8 項を参照してください 。また、 RESTOREサブコマンドの-wオプションを使用して、変更されたブロックを復元ホストにストリーミングするための複数の並列ワーカープロセスを指定することにも注意してください。2.1.5.2 リモートホストでの増分バックアップの復元注:リモートホストにインストールされているBART設定ファイルbart.cfg編集する必要はありません。手順2:リモートユーザーとして使用するリモートホスト上のLinuxオペレーティングシステムのユーザーアカウントを決定します。このユーザーは、BART構成ファイルのremote_hostパラメーター、またはRESTOREサブコマンドを使用して増分バックアップを復元するときの-rオプションで指定されます。リモートユーザーは、リモートホスト上で増分バックアップを復元するディレクトリの所有者である必要があります。デフォルトでは、ユーザーアカウントはAdvanced Serverの場合はenterprisedb 、PostgreSQLの場合はpostgresです。ステップ3:パスワードなしのSSH / SCP接続が、BARTホストのBARTユーザからリモートホストのリモートユーザへ確立されていることを確認してください。パスワードなしのSSH / SCP接続の設定については、セクション4.2.1を参照してください。ステップ4:リモートユーザーがリモートホストに接続するとき、リモートユーザーのPATH環境変数にBART binディレクトリを含める必要があります。たとえば、ユーザーの~/.bashrcファイルまたは~/.bash_profileファイルを変更して、次の例に示すようにPATH環境変数を設定します。
2.1.6 バックアップチェーンの作成バックアップチェーンは、フルバックアップとその連続増分バックアップの全てからなるバックアップのセットです。チェーン内のすべての増分バックアップの親バックアップを遡ってトレースすると、最終的にその単一のフルバックアップに戻ります。「 マルチフォーク 」バックアップチェーンを作成することもできます。これは、連続する2行以上の増分バックアップで、すべて同じフルバックアップで始まります。したがって、チェーン内には、複数の増分バックアップの親として機能するバックアップがあります。増分バックアップの復元は、最初に完全バックアップ、次に RESTOREサブコマンドで指定された増分バックアップまでのすべての連続増分バックアップを復元することに依存しているため、以下の点に注意することが重要です。保持ポリシー管理のアクションは、フルバックアップと、チェーン内の連続するすべての増分バックアップに、それらが1つのバックアップである場合と同じ方法で適用されます。したがって、保存方針管理を使用しても、バックアップチェーンが分割されることはありません。増分バックアップの保存方針管理については、 5.2.5 項を参照してください。allow_incremental_backupsパラメータがに設定されてenabled記載されているデータベース・サーバ上の増分バックアップを可能にするために、BARTの設定ファイルに:まず、 フルバックアップを取ります。一連の増分バックアップが行われます。最初の増分バックアップは、フルバックアップを親として指定します。その後の各増分バックアップは、その前の増分バックアップをその親として使用します。 BACKUPサブコマンドについては、 5.4.3 項を参照してください 。次の SHOW-BACKUPSサブコマンドの出力は、バックアップチェーンを一覧表示します。バックアップチェーンは、 full_1 、 incr_1-a 、 incr_1-b 、およびincr_1-cです。フルバックアップ full_1では、 BACKUP PARENTフィールドにはnone含まれてnone 。増分バックアップごとに、 BACKUP PARENTフィールドにバックアップIDまたはその親バックアップの名前が入ります。2番目のバックアップチェーンは BACKUPサブコマンドと同じ方法で作成されます。以下は、フルバックアップfull_2と増分バックアップincr_2-aおよびincr_2-bからなる、結果として得られる2番目のバックアップチェーンの追加を示しています。incr_1-bを親として指定する incr_1-b-1で始まる次の追加の増分バックアップでは、そのバックアップからfull_1 、 incr_1-a 、 incr_1-bで構成されるチェーンの2行目のバックアップに分岐します。次のリストに示すように、 incr_1-b-1 、 incr_1-b-2 、およびincr_1-b-3
3.1 BART 2.3のインストールBARTは libpqライブラリとBoostライブラリを含むいくつかの依存関係を必要とします。これらの依存関係はEDB RPMインストーラーによって満たされます。以下のステップを実行して、これらの依存関係とBART製品をインストールしてください。ステップ1: EPELパッケージ( Enterprise Linux用の追加パッケージ)をインストールします。これには、ご使用のLinuxオペレーティングシステムに応じてインストールが必要な場合がある特定のライブラリが含まれています。If you receive this error, you can download the EPEL rpm package, and install it manually. To manually install If you receive this error, you can download the rpm package, and install it manually. To manually install EPEL, rpm package, and install it manually. To manually install download the rpm package, assume superuser privileges, navigate into the directory that contains the package, and install with the command: EPEL with the command: download the rpm package, assume superuser privileges, navigate into the directory that contains the package, and install with the command:手順2: スーパーユーザー特権を想定し、rpmまたはyumを使用してリポジトリ設定ファイルを作成します。ステップ3 : 選択したエディタを使用してリポジトリ設定ファイルを変更し、パッケージをインストールする各リポジトリを有効にして、資格情報を入力します。リポジトリ設定ファイルの名前はedb.repoです。 /etc/yum.repos.dにあります。EDB Yum Repositoryの使用に関する詳細は、以下のEnterpriseDB Webサイトから入手可能なLinux用EDB Postgres Advanced Serverインストールガイドの セクション3を参照してください 。
• Advanced Server 9.6以降用のedbas xx 。最新バージョンのAdvanced Serverを使用することをお勧めします。ステップ4:リポジトリ設定ファイルの該当するエントリを変更した後、設定ファイルを保存してエディタを終了します。ステップ5(オプション):サーバクライアントパッケージを使ってpg_basebackupユーティリティプログラムをインストールします。BARTホストにpg_basebackupプログラムをpg_basebackupインストールしていない場合 、または後でBARTホストにPostgreSQLデータベースサーバまたはAdvanced Serverをインストールする予定がない場合は、 pg_basebackupプログラムを含む限られた数のファイルをインストールできます。次のコマンドでサーバークライアントパッケージを作成します。ステップ6: BART RPMパッケージをインストールしてください。 Yumを使用すると、BARTに必要なすべての依存関係がインストールされます。これらのパッケージは、 edb.repoリポジトリ設定ファイルで有効にしたリポジトリからアクセスします。次の構文は、 yumコマンドを使用して、現在の作業ディレクトリにダウンロードされたBART RPMパッケージファイルをインストールします。ローカルパッケージファイルは、完全なRPMパッケージファイル名を使用してインストールされます。
BART_HOME /bin BART_HOME /bin BART_HOME /etc BART_HOME /lib 手順7: PATH環境変数の設定を調整して、次のユーザーアカウントの~/.bashrcファイルまたは~/.bash_profileファイルにBART 2.3 binサブディレクトリのディレクトリの場所を含めます。
• BARTホスト上のBARTユーザーアカウント。詳しくはセクション 4.1 、ステップ3をご覧ください。
手順1: BARTをインストールする前に、以下のコマンドを使用してEnterpriseDBリポジトリ設定ファイルをSLESホストに追加します。
• edbas96suse 。 repo
• edbasdependencies repo
• edbastools 。 repoステップ3: EDB Postgres Advanced Serverまたはサポートコンポーネントをインストールする前に、SUSEConnectとSUSE Package Hub拡張をSLESホストに追加し、そのホストをSUSEに登録してSUSEリポジトリにアクセスできるようにする必要があります。以下のコマンドを使用してください。ステップ4:アーカイブリポジトリを追加してリポジトリメタデータを更新します。ステップ5: zypperユーティリティを使ってBARTをインストールします。
ステップ1: BART 2.1 / 2.2設定ファイルのコピーをバックアップとして保存します。デフォルトの場所とファイル名は/usr/edb/bart/etc/bart.cfgディレクトリです。ステップ2: BART 2.3にアップグレードする前に、BARTユーザアカウントのIDを仮定し、次のコマンドを実行してBART 2.1 / 2.2 WALスキャナプログラムbart-scannerを停止します。
• EDB Yum Repository WebサイトからBART RPMパッケージを直接更新するには、パッケージ名のみを指定します。edb-bartパッケージを使用してインストールされているedb-repoの種々のコンポーネントのEDBヤムリポジトリにアクセスするためのURLを含むリポジトリのRPMを、。このリポジトリRPMは、 EDB Yum Repository Webサイトにアクセスしたときに表示されます。
• ステップ4:親の/usr/edb/bartディレクトリにあるBART 2.1ファイルはBART 2.3ファイルに置き換えられます。 /usr/edb/bart/etcディレクトリーにあるBART構成ファイルbart.cfgが、BART 2.2 / 2.1で使用されている元のファイルであるかどうかを確認してください。存在しない場合は、手順1で保存した設定ファイルを使用できます。BART 2.3設定ファイルの backup_pathパラメータが、既存のBART 2.2 / 2.1バックアップカタログではなく、新しいディレクトリに設定されていることを確認してください 。つまり、BART 2.3を使用して作成された新しいフルバックアップと増分バックアップは、新しいBARTバックアップカタログに保存する必要があります。
• 増分バックアップを復元するリモートホストにBART 2.3をインストールする場合(つまり、これはBARTホストではありません)、BART 2.3 etcサブディレクトリの内容に bart.cfg追加する必要はありませんbart.cfgファイル手順5: PATH環境変数の設定に、次のユーザーアカウントの~/.bashrcファイルまたは~/.bash_profileファイル内のBART 2.3 binサブディレクトリのディレクトリの場所が含まれていることを確認します。
• BARTホスト上のBARTユーザーアカウント。詳しくはセクション 4.1 、ステップ3をご覧ください。
ステップ2: BART 2.0設定ファイルのコピーを保存してください。デフォルトの場所とファイル名は/usr/edb/bart2.0/etc/bart.cfgです。ステップ3: 次のコマンドを使用してBART 2.0を削除します。手順4:新しく作成した/usr/edb/bart/etcディレクトリに、手順1でBART 2.0から保存した構成ファイルbart.cfgをbart.cfgます。 (これが設定ファイルのデフォルトの場所であることに注意してください。 -cオプションをBARTサブコマンドとともに使用して、別の設定ファイルの名前または場所を指定できます。詳細については、 5.3項を参照してください。)BART 2.3設定ファイルの backup_pathパラメータが、既存のBART 2.0バックアップカタログではなく、新しいディレクトリに設定されていることを確認してください 。つまり、BART 2.3を使用して作成された新しいフルバックアップと増分バックアップは、新しいBARTバックアップカタログに保存する必要があります。
• 増分バックアップを復元するリモートホストにBART 2.3をインストールする場合(つまり、これはBARTホストではありません)、BART 2.3 etcサブディレクトリの内容に bart.cfg追加する必要はありませんbart.cfgファイル手順5: PATH環境変数の設定を調整して、次のユーザーアカウントの~/.bashrcファイルまたは~/.bash_profileファイルにBART 2.3 binサブディレクトリのディレクトリの場所を含めます。
• BARTホスト上のBARTユーザーアカウント。詳しくはセクション 4.1 、ステップ3をご覧ください。ステップ6: BART 2.0を使用して増分バックアップが復元されたリモートホストでも、BARTホストと同じ方法でBART 2.3のインストールとBART 2.0の削除プロセスを実行する必要があります。
4 設定
4.1 BARTホストの設定このセクションでは、BARTホストでの基本的な設定手順について説明します。これらの手順を実行すると、これらの設定に対応するパラメータがBART構成ファイル( BART_HOME /etc/bart.cfg )にあります。手順を進めながら、BART設定ファイルでこれらのパラメータを設定します。
• [バート]。 構成ファイルのグローバルセクションを識別します。このパラメーターは必須であり、BARTという名前でなければなりません。
• bart_host BARTがインストールされているホストのIPアドレス。このパラメーターの値は、 bart_user @ bart_host_addressの形式で指定する必要があります。ここで、 bart_userは、BARTの実行に使用され、BARTバックアップカタログディレクトリを所有するBARTホスト上のオペレーティングシステムユーザーアカウントです。 bart_host_addressはBARTホストのIPアドレスです。このパラメータは必須です。
• backup_path。すべてのBARTデータベースサーバのバックアップとアーカイブされたWALファイルが保存されるファイルシステムの親ディレクトリを指定します。このパラメータは必須です。
• pg_basebackup_path。 BARTホストにインストールしたpg_basebackupプログラムへのパスを指定します。選択したpg_basebackupのバージョンに応じて適用される可能性がある制限についての情報は項1.4.4を参照してください。このパラメータは必須です。
• xlog_method BACKUPサブコマンドによるpg_basebackup実行中にトランザクションログを収集する方法を決定します。バックアップの完了後にトランザクションログファイルを収集するためにfetchに設定します。フルバックアップの作成と並行してトランザクションログをストリーミングするには、 streamに設定しstream 。 streamが使用されている場合、影響を受けるデータベースサーバーのpostgresql.confファイルのmax_wal_senders構成パラメータは、トランザクションログのストリーミング用の追加セッションを考慮する必要があります(つまり、設定は最低2する必要があります)。 BART設定ファイルのserverセクションのxlog_methodパラメータの設定は、その特定のデータベースサーバのグローバルセクションのxlog_methodの設定を上書きします。 serverセクションで省略した場合は、globalセクションのxlog_methodの設定が使用されます。 xlog_methodパラメータがどちらのセクションにも指定されていない場合、デフォルトはfetchです。
• retention_policyアクティブなバックアップを廃止予定としてマークし、削除の候補にする時期を決定します。設定は、 max_number BACKUPS 、 max_number DAYS 、 max_number WEEKS 、またはmax_number MONTHSいずれかmax_number 。ここで、 max_numberは正の整数です。キーワードBACKUPS 、 DAYS 、 WEEKS 、およびMONTHSがすべて省略されている場合、指定された整数はデフォルトでmax_number BACKUPSとして解釈されます。 BART設定ファイルのserverセクションにretention_policyパラメータを設定すると、その特定のデータベースサーバのグローバルセクションにあるretention_policyの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのretention_policyの設定が使用されます。 retention_policyパラメータがどちらのセクションにも指定されていない場合、 MANAGEサブコマンドを使用しても、追加のバックアップが不要とマークされることはありません。保存方針を使用してバックアップを管理する方法については、 5.2項を参照してください。
• wal_compression MANAGEサブコマンドが呼び出されたときに、BARTバックアップカタログ内のアーカイブされたWALファイルの圧縮を有効にします。アーカイブ済みのWALSファイルをgzip形式で圧縮するにはenabledに設定します。ファイルを非圧縮のままにするには、 disabledに設定します。 注: gzip圧縮プログラムはBARTユーザーアカウントのPATHなければなりません。 注:アーカイブWALファイルの圧縮は、増分バックアップをとるデータベースサーバーでは許可されていません。 BART設定ファイルのserverセクションにwal_compressionパラメータを設定すると、その特定のデータベースサーバのグローバルセクションにあるwal_compressionの設定がwal_compressionれます。サーバーセクションで省略した場合は、グローバルセクションのwal_compressionの設定が使用されます。 wal_compressionパラメータがどちらのセクションにも指定されていない場合、デフォルトはdisabledです。 WAL圧縮にMANAGEサブコマンドを使用する方法については、 5.4.7項を参照してください。
• copy_wals_during_restore。 RESTOREサブコマンドを呼び出したときにアーカイブWALファイルを収集する方法を決定します。データベースサーバのアーカイブリカバリの前に、アーカイブWALファイルをBARTバックアップカタログからrestore_path /archived_walsディレクトリにコピーするにはenabledに設定します。データベースサーバのアーカイブリカバリ中にBARTバックアップカタログからアーカイブWALファイルを直接取得するには、 disabledに設定しdisabled 。 recovery.confファイルでBARTが生成したrestore_commandパラメータは、2つのオプションのどちらが使用されているかを反映しています。 RESTOREサブコマンドが-cオプションを指定して呼び出された場合、アーカイブされたWALファイルはBARTバックアップカタログからrestore_path /archived_walsディレクトリにコピーされるため、BART設定ファイルのcopy_wals_during_restoreパラメータの設定はすべて上書き/archived_walsます。 RESTOREサブコマンドが-cオプションなしで呼び出された場合、アーカイブWALファイルの取得方法は次のようになりますcopy_wals_during_restore構成ファイルのserverセクションにあるcopy_wals_during_restoreパラメーターを明示的に設定すると、グローバルセクションのcopy_wals_during_restoreの設定が上書きされます。その特定のデータベースサーバ。 serverセクションで省略した場合は、グローバルセクションのcopy_wals_during_restoreの設定が使用されます。 copy_wals_during_restoreパラメータがどちらのセクションでも明示的に設定されていない場合、デフォルトはdisabled 。追加情報については5.4.8項を参照してください。
• ログファイル。 BARTログファイルへのパスを指定します。 bartプログラムからの出力はこのファイルに書き込まれます。このパラメータはオプションです。 logfile =後にログファイルへのパスが指定されていない場合、またはパラメータがコメントアウトされている場合、BARTはログファイルを作成しません。 注: BARTの使用中にBARTログファイルに関して表示される可能性のあるエラーメッセージは、通常、現在のBARTユーザーアカウントが所有していない既存のログファイルが存在することが原因です。この問題を解決するには、既存のログファイルを削除するか名前を変更し、BARTが現在のBARTユーザアカウントが所有する新しいログファイルを作成できるようにします。
• scanner_logファイル。 WALスキャナーログファイルへのパスを指定します。 bart-scannerプログラムからの出力はこのファイルに書き込まれます。このパラメータはオプションです。 scanner_logfile =後にログファイルへのパスが指定されていない場合、またはパラメータがコメントアウトされている場合、BARTはWALスキャナログファイルを作成しません。 注: WALスキャナーの使用中にWALスキャナーのログファイルに関するエラーメッセージが表示される場合は、通常、現在のBARTユーザーアカウントが所有していない既存のログファイルが存在することが原因です。この問題を解決するには、既存のログファイルを削除するか名前を変更し、BARTが現在のBARTユーザアカウントが所有する新しいログファイルを作成できるようにします。
• スレッド数。増分バックアップのためにBACKUPサブコマンドが呼び出されたときに、データベースサーバーからBARTバックアップカタログにブロックをコピーするためのワーカースレッドの数を指定します。同じアプローチは、ワーカースレッドがデータベースサーバーからBARTバックアップカタログにデータファイルをコピーするフルバックアップにも適用されます。注: 並列バックアップがN個のワーカースレッドで実行されている場合、サーバーとのN + 1個の同時接続が開始されます。注:圧縮操作は増分バックアップには適用されません。
○ BACKUPサブコマンドが--thread-countオプションをBACKUP呼び出された場合、このオプションで指定されたワーカースレッドの数は、BART構成ファイル内のthread_countパラメーターの設定をオーバーライドします。
○ BACKUPサブコマンドが--thread-countオプションなしで呼び出された場合は、使用されるワーカースレッドの数が次のように決定されますthread_count構成ファイルのserverセクションのthread_countパラメータの設定は、グローバルセクションのthread_countの設定を上書きします。その特定のデータベースサーバ用。 serverセクションで省略した場合は、globalセクションのthread_countの設定が使用されます。 thread_countパラメータがどちらのセクションにも指定されていない場合、デフォルトは1です。注:フルバックアップを取る場合、有効なスレッド数が1しかない場合は、 --no-pg_basebackupオプションがBACKUPサブコマンドで指定されていない限り、 pg_basebackupユーティリティを使用してフルバックアップを取ります。
• バッチサイズ。増分バックアップのためにBACKUPサブコマンドが呼び出されたときに、変更されたブロックをデータベースサーバーからBARTバックアップカタログにコピーするために使用されるメモリーのブロック数を指定します。各ブロックは8192バイトです。最大許容値は131072 (131072 * 8192 = 1 GB)。許容最小値は1 (1 * 8192 = 8192バイト)。 pg_read_binary_file()実行中にpg_read_binary_file()がメモリー不足を訴えた場合は、設定を減らしてください。 BART設定ファイルのserverセクションにbatch_sizeパラメータを設定すると、その特定のデータベースサーバのグローバルセクションにあるbatch_sizeの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのbatch_sizeの設定が使用されます。 batch_sizeパラメーターがどちらのセクションにも指定されていない場合は、デフォルト値の49142 (49142 * 8192 = 3/8 GB)が使用されます。
• scan_interval BARTバックアップカタログのアーカイブディレクトリにあるWALファイルのスキャンを強制するまでの秒数を指定します。 BART設定ファイルのserverセクションにあるscan_intervalパラメータの設定は、その特定のデータベースサーバのglobalセクションにあるscan_intervalの設定を上書きします。サーバーセクションで省略した場合は、グローバルセクションのscan_intervalの設定が使用されます。 scan_intervalパラメータがどちらのセクションにも指定されていない場合は、デフォルト値の0が使用されます。これは、ブルートフォーススキャンが開始されないことを意味します。
• mbm_scan_timeout mbm_scan_timeoutタイムアウトするまでにMBMファイルを待機する秒数を指定します。 mbm_scan_timeoutパラメータ値は0より大きくなければなりません。値が0または負の場合、増分バックアップ中にエラーが表示されます。 BART設定ファイルのserverセクションにあるmbm_scan_timeoutパラメータの設定は、その特定のデータベースサーバのグローバルセクションにあるmbm_scan_timeoutの設定を上書きします。 serverセクションで省略した場合は、globalセクションのmbm_scan_timeoutの設定が使用されます。 mbm_scan_timeoutパラメータがどちらのセクションにも指定されていない場合は、デフォルト値の20秒が使用されます。つまり、MBMファイルを20秒間待った後、BARTはタイムアウトします。注: mbm_scan_timeoutパラメータは、増分バックアップにのみ適用できます。ステップ2: BARTユーザーアカウントを作成または選択します。
• たとえば 、管理対象データベースサーバーがそれぞれAdvanced ServerまたはPostgreSQLの場合、 enterprisedbまたはpostgresをBARTユーザーアカウントとして選択できます。手順3: BARTユーザーアカウントの環境変数を設定します。
• パス。最も簡単で推奨される設定は、 PATH環境変数にBART_HOME /binディレクトリを含めることBART_HOME 。そうすることで、BARTユーザーは現在の作業ディレクトリからBARTを呼び出すことができます。そうしないと、BARTユーザは現在の作業ディレクトリとしてBART_HOME /bin内からBARTを呼び出す必要があります。その場合、現在の作業ディレクトリをPATH環境変数に含める必要があります。 BART_HOME /binディレクトリ内にあるbart-scannerプログラムは、特定の状況ではbartプログラムによって呼び出されます。その他の情報に関してセクション5.3を見てください。
• LD_LIBRARY_PATH LD_LIBRARY_PATH 環境変数が入っているディレクトリ含める必要があるかもしれない libpqライブラリを。このディレクトリはPOSTGRES_INSTALL_HOME /libです。 LD_LIBRARY_PATH設定については、 5.3項を参照してください。ステップ4: BARTバックアップカタログを作成します。INITサブコマンドを使用して、または実際にはBARTサブコマンドを使用して bartコマンド行プログラムを呼び出すと、サブファイルがまだBARTによって作成されていない場合、BARTは構成ファイルにリストされているデータベースサーバーごとにサブディレクトリを作成します。ステップ5: logfile設定パラメータをデフォルト値の/tmp/bart.log設定したままにすることをお勧めします。このファイルは、 bartコマンドラインプログラムを最初に起動したときに作成されます。何らかの理由でBARTの使用中にBARTユーザアカウントを変更したい場合は、 /tmp/bart.logファイルを削除し、 BARTに新しいBARTユーザアカウントが所有する新しいログファイルを作成させる必要があります。手順6:このセクションの冒頭に記載されている他のオプションのグローバルパラメータを設定します。これらのパラメータの設定はすべてのデータベースサーバに適用されますが、各データベースサーバセクション内で上書きすることができます。
• 認可された公開鍵ファイルの設定方法に関する一般的な説明は、 セクション 4.2.1.2にあります。4.2.1.1 公開鍵認証の使用を有効にするservice sshd reload 代わりに、次のコマンドを使用できます 。注: SSHまたはSCPのエラーまたは問題については、次のログファイルを調べてください。4.2.1.2 許可された公開鍵の生成パスワードなしのSSHまたはSCP接続を行うターゲットサーバーには、承認された公開鍵ファイルが含まれている必要があります。このファイルは authorized_keys という名前で、 USER_HOME /.sshディレクトリの下にありますUSER_HOMEは、リモートセッションを確立するために使用されるターゲットサーバ上のユーザアカウントのホームディレクトリです。ターゲットサーバーへのパスワードなしの接続を確立する各クライアントシステムでは、SSHまたはSCP接続を要求するユーザーアカウントでクライアントシステムにログインしている間に、クライアントの公開鍵が生成されます。次に、生成された公開鍵をターゲットサーバーにコピーして USER_HOME /.ssh/authorized_keysファイルに連結する必要があります。ステップ1:クライアントシステムで、SSHまたはSCP接続を開始するユーザアカウントとしてログインします。手順3:次のコマンドで公開鍵ファイルを生成します。すべてのプロンプトデフォルトを受け入れ、パスフレーズを要求されたときにパスフレーズを指定しないでください。ステップ4:システム環境で利用可能な手段が何であれ、ターゲットサーバにファイルid_rsa.pubコピーを作成します。手順5: target_userとしてターゲットサーバにログインします。システム環境で可能な方法をすべて使用します。ステップ7:一時的なクライアントの公開鍵ファイルtmp.pubをauthorized_keysという名前のauthorized_keys tmp.pub鍵ファイルにtmp.pubます。既存の認証済みキーファイルが存在しない場合は、新しいファイルを作成しますが、既存の認証済みキーファイルを完全に置き換えることはしないでください。authorized_keysファイルが、グループまたは他のユーザからではなく、ファイルの所有者だけからアクセスできることを確認してください 。 authorized_keysファイルに必要な許可設定(600)がないか、新しく作成された場合は、ファイル許可を次のように変更します。ステップ8:一時公開鍵ファイルtmp.pub削除します。4.2.1.3 パスワードなしで必要なBART接続
1。 postgresql.confまたはpostgresql.auto.conf archive_commandパラメータでWALアーカイブをサポートするために、各BART管理データベースサーバー(SSH / SCPクライアント)からBARTホスト(ターゲットSSH / SCPサーバー)へ 。
2。 BARTホスト(SSH / SCPクライアント)から各BART管理データベースサーバ(ターゲットSSH / SCPサーバ)へ、増分バックアップを取り、フルバックアップ、アーカイブされたWALファイル、および変更されたブロックの復元をサポートします。 BART RESTOREサブコマンドが与えられています。 注:バックアップを特定のデータベースサーバーホストから実行し、別のデータベースサーバーホストに復元する場合は、パスワードなしのSSH / SCP接続をBARTホストからバックアップ先のデータベースサーバーホストに構成する必要があります。 BARTホストからバックアップの復元先となるデータベースサーバホストに移動することもできます。シナリオ1では、公開鍵ファイル( id_rsa.pub )がssh-keygen –t rsaコマンドで生成されたSSHクライアントがデータベースサーバーです。公開鍵ファイルは、データベースサーバーを実行しているユーザーアカウントによって生成されます。公開鍵ファイルが ~/.ssh/authorized_keysファイルに追加されるターゲットSSHサーバーはBARTホストです。 authorized_keysファイルはBARTユーザアカウントのホームディレクトリにあります。シナリオ2では、公開鍵ファイル( id_rsa.pub )がssh-keygen –t rsaコマンドで生成されたSSHクライアントが BARTホストです。公開鍵ファイルはBARTユーザーアカウントによって生成されます。公開鍵ファイルが ~/.ssh/authorized_keysファイルに追加されるターゲットSSHサーバーはデータベースサーバーです。 authorized_keysファイルは、データベースのバックアップを復元するディレクトリを所有するユーザアカウントのホームディレクトリにあります。各シナリオの例については、 6.2 項を参照してください 。
4.2.2 レプリケーションデータベースユーザの設定
• BACKUPサブコマンドが呼び出されたときにバックアップを作成します 。pg_hba.confファイルは最小限にアクセスするために持っているレプリケーションデータベースのユーザーを許可する必要がありますtemplate1ために示したように、データベースをrepuser次の例では。pg_basebackupの場合のみ:レプリケーションデータベースのユーザーも含まれなければならないpg_hba.confようファイルreplicationた場合の例の最後のエントリで示すように、データベース接続pg_basebackup 、スタンバイ・サーバー用として任意のバックアップを取るために使用されるべきです。次のように、データベースサーバ用のBART設定ファイルのuserパラメータでレプリケーションデータベースユーザを指定する必要があります。レプリケーションデータベースユーザーを使用してデータベースサーバーに接続するときに、パスワードの入力を求められないようにする必要があります。これを許可するPostgresの標準的な方法はいくつかあります。推奨される方法は 、BARTユーザーアカウントのホームディレクトリにある.pgpassファイルを使用する .pgpassです。ときしたがって、 bartuser BARTの走るBACKUP 、複製データベースユーザのパスワードを、 repuser 、から得られる.pgpassのファイルbartuserで実行中のデータベース・サーバに接続するには192.168.2.24ポートに5444 。.pgpass各BARTのエントリが含まれている必要がありますファイルには、データベース・サーバとそれに対応するレプリケーションデータベースのユーザーとパスワードを管理していました。
4.2.3 WALアーカイブを有効にする4.2.3.1 WALアーカイブ設定
•
•
• archive_commandを設定して 、WALファイルをBARTバックアップカタログにコピーします。
• 注:このセクションで説明されているarchive_command設定パラメータはpostgresql.confファイルにあります。このPostgresの archive_commandパラメータはBARTの archive_commandパラメータとは異なる方法で使用されます。BARTの archive_commandパラメータはBART設定ファイルのサーバセクションで設定できますが、特定の条件下でのみです。ARCHIVE PATH BARTで表示されるフィールドSHOW-SERVERSサブコマンドは、Postgresの中で指定されたWALファイルをコピーする必要があるディレクトリのフルパスを示しarchive_command構成パラメータpostgresql.confファイルを:次の例では、SCPはWALファイルを 192.168.2.22あるBARTホストのディレクトリ /opt/backup/acctg/archived_walsにbartuserユーザーアカウントとしてbartuserます。4.2.3.2 アーカイブコマンドの自動設定Postgresの archive_commandパラメータはINITサブコマンドで自動的に設定できます。 INITサブコマンドはPostgres ALTER SYSTEMコマンドを呼び出して、管理対象データベースサーバーのPOSTGRES_INSTALL_HOME /dataディレクトリにあるpostgresql.auto.confファイルにPostgres archive_command構成パラメータを設定します。 INITサブコマンドの詳細については、 5.4.2項を参照してください。INITサブコマンドがpostgresql.auto.confファイルに生成するアーカイブコマンド文字列は、BART設定ファイルにあるBART archive_commandパラメータのパラメータ設定によって決まります。BART構成ファイルのサーバーセクションには 、 postgresql.auto.confファイルのPostgres archive_commandパラメータに生成されるアーカイブコマンド文字列の希望のフォーマットを指定するBART archive_commandパラメータを含めることができます。特定のデータベースサーバのサーバセクションでBART archive_commandパラメータが設定されていない場合、設定されているコマンド文字列は次のデフォルトフォーマットを使用します。WALファイルが保存される場所 の アーカイブパス に 置き換えられ ます。アーカイブパスは backup_path / server_name /archived_wals 形式を取ります。 ここで、 backup_path はBART構成ファイルのグローバルセクションで指定されたBARTバックアップカタログの親ディレクトリ、 server_name はサーバーセクションでこのデータベースサーバーに指定されたデータベースサーバー名の小文字変換です。 BART設定ファイルのアーカイブコマンド文字列を作成するとき、 プレースホルダ %hと%aはINITサブコマンドに置き換えられます。プレースホルダ%pと%fはINITサブコマンドに置き換えられませんが、Postgresのアーカイブプロセスで使用されるように指定されたままになります。たとえば、デフォルトのアーカイブコマンド形式を使用するために、BARTの設定ファイルは、BART、次の設定が含ま archive_commandパラメータは、サーバ用のセクションから省略されてACCTG :INITサブコマンドは、BARTのユーザアカウントによって呼び出されるbartuser次のように:管理対象データベースサーバーのPOSTGRES_INSTALL_HOME /dataディレクトリにある postgresql.auto.confファイル内のPostgresアーカイブコマンド文字列は、次のようになります。注:自動構成プロセスを利用するには、 -oオプションを指定してINITサブコマンドを実行してください 。このオプションは、 postgresql.confまたはpostgresql.auto.confファイル内の既存のPostgres archive_command設定を上書きします。また、 -oオプションがあれば、コマンド文字列を生成するために使用されなければならないarchive_mode設定パラメータが設定されているoffのPostgresの既存の設定がない場合でもarchive_commandでpostgresql.confかpostgresql.auto.confファイルが。注: postgresql.confファイルで4.2.3.1項の説明に従って Postgresのarchive_commandパラメータを設定し、その特定の設定を使用する場合は、 INITサブコマンドの実行時に-oオプションを指定しないでください。そうしないと、Postgresのarchive_command設定が上書きされます。このセクションで説明されている自動設定プロセスに従って。INITサブコマンドは、BARTのユーザーアカウントによって呼び出されるenterprisedb次のとおりです。
•
•
•
4.2.4 表領域の使用
• BACKUPサブコマンドを使用したフルバックアップには、tar( -F t )またはプレーンテキスト( -F p )のバックアップファイル形式を使用できます。増分バックアップには、プレーンテキスト( -F p )バックアップファイル形式を使用する必要があります。
• BACKUPサブコマンドで-F pオプションが指定されている限り、 pg_basebackup完全バックアップをとるためのトランザクションログストリーミング( BART設定ファイルのxlog_method = stream )を使用できます。したがって、トランザクションログストリーミングは、ユーザー定義のテーブルスペースを含むデータベースクラスタで使用できます。バックアップを計画している特定のデータベースクラスタに CREATE TABLESPACEコマンドで作成されたテーブルスペースが含まれている場合は、BART RESTORE操作を実行する前に、必ずBART構成ファイルでtablespace_pathパラメータを設定してください。tablespace_pathパラメータを使用すると、表領域を復元したい先のディレクトリパスを指定します。tablespace_pathパラメータは次の形式を取ります。OID_1 、 OID_2 、…は表領域のオブジェクト識別子です。次の例に示すように、 POSTGRES_INSTALL_HOME /data/pg_tblspcサブディレクトリの内容を一覧表示すると、表領域のOIDとそれに対応するディレクトリへのソフトリンクを見つけることができます。OIDは 、ディレクトリー/mnt/tablespace_1および/mnt/tablespace_2に対してそれぞれ16644および16645です。後でテーブルスペースを前の例で示したのと同じ場所に復元する場合は、BART設定ファイルに次のエントリを含める必要があります。データベースサーバがリモートホストで実行されている場合(つまり、 remote_host設定パラメータも使用しているか、 RESTOREサブコマンドで--remote-hostオプションを指定する)、指定されたテーブルスペースディレクトリは指定されたリモートホストに存在する必要があります。BART構成ファイルには、以下の設定が含まれています。ことに注意してください tablespace_pathパラメータは、この時点で設定する必要はありません。このセクションで説明されている必要な設定手順を実行してBARTがリモートデータベースサーバを管理できるようにした後、フルバックアップが実行されます。完全バックアップを作成するための準備手順と処置については、 セクション 5を参照してください 。リモートホストでは、ディレクトリ /opt/restore_tblspc_1と/opt/restore_tblspc_2が作成され、次のように適切な所有権と権限が割り当てられます。メインデータベースクラスタは/opt/restoreます。表領域ディレクトリを指定するには、BART構成ファイルの tablespace_pathパラメータを設定します。pg_tblspcサブディレクトリ内のシンボリックリンクは 、復元されたディレクトリの場所を指します。psql 内のクエリは復元されたテーブルスペースも表示します。
4.2.5 BART設定ファイルへのデータベースサーバの追加
• [サーバーの名前]。 構成ファイルのserverセクションにあるデータベースサーバーのエントリを識別します。これは、BARTを使用してデータベースサーバを参照するときの名前です。 BARTサブコマンドオプションで参照される場合、名前は大文字と小文字を区別しません。この名前の小文字変換は、このデータベースサーバーのバックアップとWALファイルを格納するためのBARTバックアップカタログ内のサブディレクトリを作成するために使用されます。このパラメータは必須です。
• backup_name。データベースサーバのバックアップに割り当てるユーザ定義のわかりやすい名前のテンプレート。テンプレートは英数字の文字列で、バックアップの実行時にタイムスタンプ値に置き換えられる変数は次のとおりです。1) %year - 4桁の年、2) %month - 2桁の月、3) %day - 2桁の日、4) %hour - 2桁の時、5) %minute - 2桁の分、および6) %second - 2桁の秒。バックアップ名にパーセント記号( % )を文字として含めるには、テンプレートに%%を指定します。テンプレートにスペース文字を含める場合でも、テンプレート文字列を引用符で囲まないでください。それ以外の場合は、引用符がバックアップ名の一部として格納されます。ただし、バックアップ名にスペース文字を使用する場合は、BARTサブコマンドで-iオプションを使用して参照するときは、バックアップ名を引用符で囲む必要があります。バックアップ名の最大長は49文字です。このパラメーターは、 BACKUPサブコマンドの--backup-nameオプションでオーバーライドできます。このパラメーターがBART構成ファイルから省略され、ユーザー定義名を持つ--backup-nameオプションがBACKUPサブコマンドで指定されていない場合、バックアップはBART割り当て整数バックアップによってのみBARTサブコマンド内で参照できます。識別子。
• ホスト。バックアップ用に設定するデータベースサーバのIPアドレス。このパラメータは必須です。
• 港。バックアップするデータベースサーバーインスタンス(つまり、関連するデータベースクラスター)を識別するポート番号。このパラメータはオプションです。省略した場合、デフォルトはポート5444です。
• ユーザー。 BARTが使用するレプリケーションデータベースのユーザー名。1)フルバックアップ用にデータベースサーバーへの接続を確立するため、2) INITサブコマンドを実行するときにPostgres archive_command構成パラメータを設定するため、3)増分バックアップを実行するため。このデータベースユーザーはスーパーユーザーでなければなりません。 注: BARTユーザーアカウントとして実行している間は、このデータベースユーザーを使用してデータベースサーバーに接続するときに、パスワードの入力を求められないようにする必要があります。また、 pg_hba.confファイルには、このデータベースユーザー名の複製接続エントリが含まれていなければなりません。詳細は項4.2.2を参照してください。このパラメータは必須です。
• archive_commandこれはBART archive_commandパラメータです。 BART archive_command指定された内容と変数は、 INITサブコマンドが使用されたときにpostgresql.auto.confファイルのPostgres archive_command構成パラメーターに生成されるアーカイブ・コマンド・ストリングをもたらします。 BART構成ファイル内のこのBART archive_commandパラメーター、およびpostgresql.confファイルとpostgresql.auto.confファイル内のPostgresのarchive_commandパラメーターは、異なる方法で設定され、結果が異なる2つの別々のパラメーターを参照することに注意してください。指示に従ってこれらのパラメータを設定するときは、BART archive_commandとPostgresのarchive_commandの区別を慎重に守ってください。以下の情報はBART archive_commandパラメーターにのみ適用されます。コマンド文字列を一重引用符( ' )で囲みます。 archive_commandパラメーターが省略されていても、実際には'scp %p %h:%a/%f'設定で指定されているかのように、 INITサブコマンドによって使用されます。変数は次のとおりです。1) %p - Postgresアーカイブプロセスで使用されるアーカイブするファイルのパス、2) %h - bart_hostパラメータ設定で置き換え、3) %a - BARTアーカイブパスで置き換え、4) %f - Postgresのアーカイブ処理で使われるアーカイブファイルの名前。追加情報についてはセクション4.2.3.2を参照してください。
• cluster_ownerデータベースクラスタを所有するLinuxオペレーティングシステムのユーザーアカウント。これは一般的にされたenterprisedb Oracleデータベース、またはと互換モードでインストールAdvanced Serverのデータベース・クラスタのためpostgres PostgreSQLデータベースクラスタ用とPostgreSQLデータベースとの互換性モードでインストールAdvanced Serverのデータベースクラスタのため。このパラメータは必須です。
• リモートホスト。バックアップの復元先となるリモートサーバのIPアドレス。このパラメータの値は、 remote_user @ remote_host_addressの形式で指定する必要があります。ここで、 remote_userは、BARTユーザアカウントからパスワードなしのSSH / SCPログイン接続を受け入れるターゲットデータベースサーバホストのユーザアカウントで、ディレクトリの所有者です。バックアップを復元する場所。 remote_host_addressは、リモートホストのIPアドレスです。リモートホストにバックアップを復元する場合、またはremote_userとBARTユーザーアカウントが同じユーザーではないバックアップを復元する場合は、このパラメータを設定する必要があります。または、BART RESTOREサブコマンドの-rオプションで指定することもできます。
• tablespace_path。表領域をリストアするパスは、 OID = tablespace_path ;形式で指定しtablespace_path ; OID = tablespace_path … remote_hostパラメータで指定されているように、バックアップをリモートホストに復元する場合は、リモートホストにテーブルスペースパスが存在している必要があります。このパラメータはオプションです。
• retention_policyアクティブなバックアップを廃止予定としてマークし、削除の候補にする時期を決定します。設定は、 max_number BACKUPS 、 max_number DAYS 、 max_number WEEKS 、またはmax_number MONTHSいずれかmax_number 。ここで、 max_numberは正の整数です。キーワードBACKUPS 、 DAYS 、 WEEKS 、およびMONTHSがすべて省略されている場合、指定された整数はデフォルトでmax_number BACKUPSとして解釈されます。 BART設定ファイルのserverセクションにretention_policyパラメータを設定すると、グローバルセクションのretention_policyの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのretention_policyの設定が使用されます。 retention_policyパラメータがどちらのセクションにも指定されていない場合、 MANAGEサブコマンドを使用しても、追加のバックアップが不要とマークされることはありません。保存方針を使用してバックアップを管理する方法については、 5.2項を参照してください。
• xlog_method BACKUPサブコマンドによるpg_basebackup実行中にトランザクションログを収集する方法を決定します。バックアップの完了後にトランザクションログファイルを収集するためにfetchに設定します。フルバックアップの作成と並行してトランザクションログをストリーミングするには、 streamに設定しstream 。 streamが使用される場合、このデータベースサーバのpostgresql.confファイルのmax_wal_senders設定パラメータは、トランザクションログのストリーミング用の追加セッションを考慮する必要があります(つまり、設定は最低2する必要があります)。 BART設定ファイルのserverセクションにxlog_methodパラメータを設定すると、globalセクションにあるxlog_methodの設定が上書きされます。 serverセクションで省略した場合は、globalセクションのxlog_methodの設定が使用されます。 xlog_methodパラメータがどちらのセクションにも指定されていない場合、デフォルトはfetchです。
• wal_compression MANAGEサブコマンドが呼び出されたときに、BARTバックアップカタログ内のアーカイブされたWALファイルの圧縮を有効にします。アーカイブ済みのWALSファイルをgzip形式で圧縮するにはenabledに設定します。ファイルを非圧縮のままにするには、 disabledに設定します。 注: gzip圧縮プログラムはBARTユーザーアカウントのPATHなければなりません。 注:アーカイブWALファイルの圧縮は、増分バックアップをとるデータベースサーバーでは許可されていません。 BART設定ファイルのserverセクションにwal_compressionパラメータを設定すると、グローバルセクションのwal_compressionの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのwal_compressionの設定が使用されます。 wal_compressionパラメータがどちらのセクションにも指定されていない場合、デフォルトはdisabledです。 WAL圧縮にMANAGEサブコマンドを使用する方法については、 5.4.7項を参照してください。
• copy_wals_during_restore。 RESTOREサブコマンドを呼び出したときにアーカイブWALファイルを収集する方法を決定します。データベースサーバのアーカイブリカバリの前に、アーカイブWALファイルをBARTバックアップカタログからrestore_path /archived_walsディレクトリにコピーするにはenabledに設定します。データベースサーバのアーカイブリカバリ中にBARTバックアップカタログからアーカイブWALファイルを直接取得するには、 disabledに設定しdisabled 。 recovery.confファイルでBARTが生成したrestore_commandパラメータは、2つのオプションのどちらが使用されているかを反映しています。 RESTOREサブコマンドが-cオプションを指定して呼び出された場合、アーカイブされたWALファイルはBARTバックアップカタログからrestore_path /archived_walsディレクトリにコピーされるため、BART設定ファイルのcopy_wals_during_restoreパラメータの設定はすべて上書き/archived_walsます。 RESTOREサブコマンドが-cオプションなしで呼び出された場合、アーカイブされたWALファイルの復元方法は次のようになりますcopy_wals_during_restore構成ファイルのserverセクションのcopy_wals_during_restoreパラメータの設定は、グローバルセクションのcopy_wals_during_restoreの設定を上書きします。 serverセクションで省略した場合は、グローバルセクションのcopy_wals_during_restoreの設定が使用されます。 copy_wals_during_restoreパラメータがどちらのセクションでも明示的に設定されていない場合、デフォルトはdisabled 。追加情報については5.4.8項を参照してください。
• allow_incremental_backups。増分バックアップにWALスキャナーを使用できるようにします。 BACKUPサブコマンドが--parentオプションをBACKUPして呼び出されたときに、増分バックアップを取ることを許可します。増分バックアップを許可するにはenabledに設定します。増分バックアップを許可しないため完全バックアップのみを許可するには、 disabledに設定しdisabled 。 allow_incremental_backupsパラメーターが指定されていない場合、デフォルトはdisabledです。増分バックアップをとるためのBACKUPサブコマンドの使用方法については、 5.4.3項を参照してください。 WALスキャナーの実行については、 5.5項を参照してください。増分バックアップの一般情報については、 2.1項を参照してください。
• スレッド数。増分バックアップのためにBACKUPサブコマンドが呼び出されたときに、データベースサーバーからBARTバックアップカタログにブロックをコピーするためのワーカースレッドの数を指定します。同じアプローチは、ワーカースレッドがデータベースサーバーからBARTバックアップカタログにデータファイルをコピーするフルバックアップにも適用されます。 BACKUPサブコマンドが-zまたは-cオプションで指定されているときに、並列の圧縮バックアップを提供するために、フルバックアップをとるときに同じ一連のプロセスが圧縮操作に使用されます。注: 並列バックアップがN個のワーカースレッドで実行されている場合、サーバーとのN + 1個の同時接続が開始されます。注:圧縮操作は増分バックアップには適用されません。
○ BACKUPサブコマンドが--thread-countオプションをBACKUP呼び出された場合、このオプションで指定されたワーカースレッドの数は、BART構成ファイル内のthread_countパラメーターの設定をオーバーライドします。
○ BACKUPサブコマンドが--thread-countオプションなしで呼び出された場合は、使用されるワーカースレッドの数が次のように決定されますthread_count構成ファイルのserverセクションのthread_countパラメータの設定は、グローバルセクションのthread_countの設定を上書きします。 。 serverセクションで省略した場合は、globalセクションのthread_countの設定が使用されます。 thread_countパラメータがどちらのセクションにも指定されていない場合、デフォルトは1です。注:フルバックアップを取る場合、有効なスレッド数が1しかない場合は、 --no-pg_basebackupオプションがBACKUPサブコマンドで指定されていない限り、 pg_basebackupユーティリティを使用してフルバックアップを取ります。
• バッチサイズ。増分バックアップのためにBACKUPサブコマンドが呼び出されたときに、変更されたブロックをデータベースサーバーからBARTバックアップカタログにコピーするために使用されるメモリーのブロック数を指定します。各ブロックは8192バイトです。最大許容値は131072 (131072 * 8192 = 1 GB)。許容最小値は1 (1 * 8192 = 8192バイト)。 pg_read_binary_file()実行中にpg_read_binary_file()がメモリー不足を訴えた場合は、設定を減らしてください。 BART設定ファイルのserverセクションにbatch_sizeパラメータを設定すると、グローバルセクションにあるbatch_sizeの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのbatch_sizeの設定が使用されます。 batch_sizeパラメーターがどちらのセクションにも指定されていない場合は、デフォルト値の49142 (49142 * 8192 = 3/8 GB)が使用されます。
• scan_interval BARTバックアップカタログのアーカイブディレクトリにあるWALファイルのスキャンを強制するまでの秒数を指定します。 BART設定ファイルのserverセクションにscan_intervalパラメータを設定すると、globalセクションにあるscan_intervalの設定が上書きされます。サーバーセクションで省略した場合は、グローバルセクションのscan_intervalの設定が使用されます。 scan_intervalパラメータがどちらのセクションにも指定されていない場合は、デフォルト値の0が使用されます。これは、ブルートフォーススキャンが開始されないことを意味します。
• mbm_scan_timeoutタイムアウトするまでにMBMファイルを待機する秒数を指定します。 mbm_scan_timeoutパラメータ値は0より大きくなければなりません。値が0または負の場合、増分バックアップ中にエラーが表示されます。 BART設定ファイルのserverセクションにあるmbm_scan_timeoutパラメータの設定は、その特定のデータベースサーバのグローバルセクションにあるmbm_scan_timeoutの設定を上書きします。 serverセクションで省略した場合は、globalセクションのmbm_scan_timeoutの設定が使用されます。 mbm_scan_timeoutパラメータがどちらのセクションにも指定されていない場合、デフォルト値の20が使用されます。つまり、MBMファイルを20秒間待った後、BARTはタイムアウトします。注: mbm_scan_timeoutパラメータは、増分バックアップにのみ適用できます。
• 説明データベースサーバの説明。このパラメータはオプションです。pg_basebackup_path = /usr/edb/as11/bin/pg_basebackup
5 操作
5.1 BART管理の概要
1。 -sオプションを指定せずにCHECK-CONFIGサブコマンドを実行します。 -sオプションでサーバーを指定せずに使用した場合、 CHECK-CONFIGサブコマンドはBART構成ファイルのグローバルセクション内のパラメーターを確認します。
2。 まだ行っていない場合は、 INITサブコマンドを実行してBARTバックアップカタログの作成を終了します。これにより、バックアップとWALファイルが保存される完全なディレクトリ構造になります。このステップでは、そうでない場合には、コピー操作、有効なWALアーカイブとデータベースサーバを再起動する前に行う必要がありますarchive_commandのパラメータpostgresql.confファイルまたはpostgresql.auto.confファイルが原因ターゲットアーカイブのディレクトリが存在しないために失敗しました。ディレクトリ構造が完成すると、 server_name /archived_walsという名前の最下位レベルのサブディレクトリ( アーカイブパスと呼ばれる)が各データベースサーバに存在するはずです。
3。 アーカイブを有効にしてPostgresデータベースサーバーを起動します。 WALファイルが各データベースサーバーのserver_name /archived_walsアーカイブパスに表示/archived_wals れていることを確認します。 (アーカイブの頻度は他のpostgresql.conf設定パラメータに依存します。)Postgresデータベースサーバのログファイルを調べて、アーカイブエラーがないことを確認してください。バックアップ処理中に作成される可能性のあるWALファイルが確実にアーカイブされるようにするために、アーカイブを作成してからバックアップを取ってください。
5。 サーバー名を指定して-sオプションを指定して、各データベースサーバーに対してBART CHECK-CONFIGサブコマンドを実行します。これにより、データベースサーバはバックアップを取るために正しく設定されています。
• VERIFY-CHKSUMサブコマンドを使用して、フルバックアップのチェックサムを確認します 。
• SHOW-SERVERSサブコマンドでデータベースサーバ情報を表示します 。
• SHOW-BACKUPSサブコマンドでバックアップ情報を表示します。
• BACKUPサブコマンドを実行して、追加のフルバックアップまたは増分バックアップを作成します。
•
1。 service ppas- x などの適切な方法を使用して、データベースサーバを停止します . x stop 、 systemctl stop edb-as- x . x 、 POSTGRES_INSTALL_HOME /bin/pg_ctl stop –D data_directoryなど
2。 データベースクラスタとテーブルスペースファイルを新しい空のディレクトリに復元するかどうかを決定します。またはb)既存のデータベースクラスタディレクトリを再利用する。オプション(a)の場合は、適切なディレクトリの所有権と権限を使用して新しいディレクトリを作成します。オプション(b)では、既存のディレクトリ内のすべてのファイルとサブディレクトリを削除しますが、削除する前にこのデータのコピーを作成することを強くお勧めします。 BARTバックアップカタログserver_name /archived_walsサブディレクトリにアーカイブされていない最近のWALファイルを pg_xlogサブディレクトリに必ず保存してください 。
3。 BART SHOW-BACKUPS -s server_nameサブコマンドを実行して、データベースサーバのバックアップのバックアップIDとバックアップ名を一覧表示します。最新のバックアップを復元する場合を除き、BART RESTOREサブコマンドで適切なバックアップIDまたはバックアップ名を指定する必要があります。この場合、バックアップIDまたはバックアップ名を指定するためのRESTOREサブコマンドの-iオプションは省略できます。
4。 適切なオプションを指定してBART RESTOREサブコマンドを実行します。バックアップは、 -p restore_pathオプションで指定されたディレクトリに復元されます。さらに、 RESTOREサブコマンド-cオプションが指定されている場合、またはcopy_wals_during_restore BART構成パラメーターのenabled設定がデータベースサーバーに適用可能である場合は、BARTバックアップカタログから必要なアーカイブWALファイルがrestore_path /archived_walsサブディレクトリにコピーされます。 。 注: restore_pathディレクトリとそのサブディレクトリおよびファイルが適切なPostgresユーザーアカウント(例えば、 enterprisedbまたはpostgres )によって所有されていることを確認してください。 Postgresユーザーアカウントのみがrestore_pathディレクトリへのアクセス許可を持っていることも確認してください。コマンドchown -R enterprisedb:enterprisedb restore_pathまたはchmod 700 restore_pathなどを使用して、必要に応じて適切な調整を行います。
5。
6。 ポイントインタイムリカバリ用に生成された場合は、 RESTOREサブコマンドの-p restore_pathオプションで指定されたディレクトリに作成されたrecovery.confファイルが正しいリカバリパラメータ設定で生成されたことを確認します。 RESTOREサブコマンド-cオプションが指定されている場合、またはcopy_wals_during_restore BART構成パラメーターの有効設定がデータベース・サーバーに適用可能である場合、 restore_commandパラメーターはRESTOREによって作成されたrestore_path /archived_walsサブディレクトリーからアーカイブWALファイルを取り出します。それ以外の場合、 restore_commandはBARTバックアップカタログからアーカイブされたWALファイルを取得します。
7。 BART RESTOREサブコマンドは、復元されたデータベースクラスタ内のWALアーカイブを無効にします。すぐにWALアーカイブを有効にしたい場合は、BARTがファイルの最後に追加するarchive_mode = offパラメータを削除してpostgresql.confファイルを修正archive_mode = offください。
8。 BARTサブコマンドの詳細については、 5.4 節を参照してください 。
1。 BART構成ファイルで保存方針を決定して設定します。 保持ポリシーは、バックアップが不要とみなされたときに決定するルールです。保存方針はすべてのサーバーにグローバルに適用できますが( 4.1項を参照)、各サーバーはグローバル保存方針を自分自身で上書きできます( 4.2.5項を参照)。
2。 MANAGEサブコマンドを使用して、保存方針に従ってバックアップを分類および管理します。このような機能には、現時点でどのアクティブバックアップを不要と見なすか、無期限に保持するバックアップの選択、および不要バックアップの物理的な削除が含まれます。古いバックアップが削除されると、そのバックアップのアーカイブされたWALファイルとともにBACKUPサブコマンドで取得されたそのバックアップも削除されます。
3。
• 注:上記のセクションに示されている例は、BARTバージョン1.1で生成されたものです。保存方針管理プロセスは現在のBARTバージョンでも同じですが、表示されるSHOW-BACKUPSおよびSHOW-SERVERSサブコマンドの出力には、保存方針に影響を与えない追加のフィールドがいくつか含まれています。
5.2.1 概要
• アクティブです。バックアップは、そのサーバーに適用可能な保存方針を満たしています。このようなバックアップは、サーバーの回復の安全性を確保するために必要と考えられるため、保持する必要があります。
• 時代遅れです。バックアップは、そのサーバーに適用可能な保存方針を満たしていません。バックアップは、サーバーの復旧の安全性のために必要と見なされなくなったため、削除することができます。
• キープ。バックアップは、そのサーバーに適用可能な保存方針に関係なく保存されます。バックアップはサーバーの復旧の安全性にとって不可欠であると考えられているため、無期限に削除しないでください。
•
• 回復期間保存ポリシー。 リカバリ期間の保存方針は、バックアップをアクティブと見なす時期についての期間(リカバリ期間)に依存します。回復期間を定義する境界は、現在の日付/時刻(回復期間の終了境界)と、過去に指定された期間にわたって戻った日付/時刻(回復期間の開始境界)です。バックアップが取られた日時がリカバリ期間内である(つまり、バックアップ日時がリカバリ期間の開始日時以降である)場合、バックアップはアクティブであるとみなされます。 (キープとしてマークされたバックアップを除く)。 5.2.3.2項でこのタイプの保存方針について説明しています。したがって、リカバリー・ウィンドウの保存方針では、リカバリー・ウィンドウの時間枠は動的にシフトするので、リカバリー・ウィンドウの終わりは常に MANAGEサブコマンドが実行されたときの現在の日時になります。将来のある時点でMANAGEサブコマンドを実行すると、リカバリー・ウィンドウの開始境界は時間的に前にMANAGEます。SHOW-SERVERSサブコマンドを実行することにより、いつでも回復ウィンドウの開始境界を確認できます 。 SHOW-SERVERSサブコマンドのRETENTION POLICYフィールドには、リカバリー・ウィンドウの開始境界が表示されます。
5.2.2 バックアップステータスのマーク付けBACKUPサブコマンドを使用して最初にバックアップを作成したときは、常に活動状況で記録されます。特定の時点でMANAGEサブコマンドを使用することによってのみ 、アクティブ・バックアップが評価され、保存方針に従ってそれらの状況を廃止に変更する必要があるかどうかが判断されます。また、それはときにのみです MANAGEサブコマンドはオプションなしでのみのいずれかで呼び出される-sとして(つまり、内部BARTによって記録されている)アクティブなバックアップが評価され、また、 マークされていること(データベースサーバを特定するために)オプション時代遅れ。 MANAGEサブコマンドとそのオプションの使用方法については、 5.4.7項を参照してください。
• MANAGEサブコマンドを使用して 、 -cオプションをバックアップIDまたは名前と一緒に-iオプションと一緒に指定します。この特定のバックアップを無期限に保存したい場合は、 -c keepを使用します。それ以外の場合は-c nokeepます。
• -c nokeepオプションを使用した場合 、バックアップステータスはアクティブに戻ります。次回MANAGEサブコマンドが使用されるときには、BART構成ファイル内の現在の保存方針に基づいて、バックアップを再評価して、その状況を旧式に戻す必要があるかどうかを判断します。場合があります retention_policyパラメータは、特定の方法で設定されている、あなたが実行しMANAGEそれに応じてバックアップをマークするサブコマンドをretention_policy設定、その後、あなたが変更または無効retention_policyバックアップの現在、マークの状態、それをコメントアウトして、パラメータを現在のretention_policy設定とおそらく矛盾しています。
○ 現在新しい保存方針の下で廃止と見なされなくなった廃止としてマークされているバックアップがある場合は 、そのようなバックアップに対してMANAGEサブコマンドを-c nokeepオプションを指定して実行し、廃止状況を活動状態に変更します。 -i allオプションを指定することもできます。これは、現在keepとマークされているものも含め、すべてのバックアップをアクティブ状態に戻します。
• MANAGEサブコマンドをオプションを指定せずに、または-sオプションのみを指定して実行して、BART構成ファイル内の新しいretention_policy設定に基づいてマーク付き状況をリセットします。MANAGE -dオプションを使用したバックアップの削除は 、バックアップがマークされた最後の機会に依存します。
5.2.3アイテム保持ポリシーの設定保存方針は 、BART設定ファイルのretention_policyパラメータによって決まります。すべてのサーバーに対してグローバルに設定するには、セクション4.1を参照してください。データベースサーバで設定する場合は、 4.2.5項を参照してください。5.2.3.1 冗長保持ポリシー冗長性保持ポリシーを使用するには、 retention_policy = max_number BACKUPS 設定し retention_policy =ここで、 max_numberは最新のバックアップの最大数を示す正の整数です。
•
• 次の例に示すように、 max_number整数に続くキーワード BACKUPS 、 DAYS 、 WEEKS 、およびMONTHSがすべて省略されている場合、冗長性保持ポリシーはデフォルトのタイプの保持ポリシーです 。SHOW-SERVERSサブディスプレイの3バックアップ冗長性保持ポリシーRETENTION POLICYフィールド:リカバリ保持ポリシーを使用するには、設定 retention_policy次のいずれかの方法でリカバリのための時間の所望の長さにパラメータを:
•
•
•
•
• MANAGEサブコマンドと-nオプションを使用してデバッグモードで( -dオプションを使用して) BARTを呼び出すと、 retention_policy設定と現在の日付/時刻に基づいて、回復期間の計算時間長が表示されます。サーバー dev場合、504時間は21日(3週間)の回復期間に相当します。サーバー hr場合、2160時間は90日(3か月)の回復期間に相当します。注: max_number MONTHS設定の場合、リカバリー期間について計算された合計日数は、現在の日付/時刻から過去の月までの実際の日数に依存します。したがって、 max_number MONTHSは、 max_number x 30 DAYSと必ずしも正確に等価ではありません。 (たとえば、現在の日付/時刻が3月の月の場合、1か月の回復期間は前の月が2月であるため、28日に相当します。したがって、現在の日付が3月31日の場合、1 - 月回復ウィンドウは3月3日に開始されます。ただし、典型的な結果は、開始回復ウィンドウ境界の月の日がMANAGEサブコマンドが呼び出された日と同じ日になることです。SHOW-SERVERSサブコマンドが2015-04-10呼び出された場合、 RETENTION POLICYフィールドに表示される3日間のリカバリーウィンドウの RETENTION POLICYは2015-04-07 14:57:36 EDTです。現時点では、 2015-04-07 14:57:36 EDT 以降に実行されたバックアップはアクティブと見なされます。 2015-04-07 14:57:36 EDTより前に2015-04-07 14:57:36 EDTされたバックアップは、キープとしてマークされたバックアップを除いて時代遅れと見なされます。SHOW-SERVERSサブコマンドが2015-04-10呼び出された場合、 RETENTION POLICYフィールドに表示される3週間のリカバリーウィンドウの RETENTION POLICYは2015-03-20 14:59:42 EDTです。現時点では、 2015-03-20 14:59:42 EDT 以降に実行されたバックアップはアクティブと見なされます。 2015-03-20 14:59:42 EDTより前に2015-03-20 14:59:42 EDTされたバックアップは、キープとしてマークされたバックアップを除いて時代遅れと見なされます。SHOW-SERVERSサブコマンドが2015-04-10呼び出された場合、 RETENTION POLICYフィールドに表示される3か月の回復ウィンドウの RETENTION POLICYは2015-01-10 14:04:23 ESTです。現時点では、 2015-01-10 14:04:23 EST 以降に行われたバックアップはアクティブと見なされます。 2015-01-10 14:04:23 EST前に行われたバックアップはキープとしてマークされたバックアップを除いて時代遅れと見なされます。
5.2.4 バックアップの管理MANAGEサブコマンドは、BARTのコンフィギュレーションファイルに設定さリテンションポリシーに従ってバックアップを評価し、分類するために使用されます。バックアップがBACKUPサブコマンドで最初に作成されたときは、常にアクティブとしてマークされています。 MANAGEサブコマンドを使用すると、アクティブなバックアップは不要とマークされることがあります。古くなったバックアップは削除できます。
• MANAGEサブコマンド削除を(それは内部BARTによって記録されている)のみのバックアップステータスは、現在マークされているかに依存しています。 BART構成ファイル内のretention_policyパラメーターの現在の設定は無視されます。
• DELETEサブコマンドは、もっぱらの現在の設定に依存しているretention_policy BARTの設定ファイル内のパラメータ。バックアップの現在のアクティブ、廃止、または保持のステータスは無視されます。
• MANAGEとサブコマンドを-dオプションだけ時代遅れとしてマークされたバックアップを削除することができます。この削除は、BART設定ファイルの現在のretention_policy設定に関係なく行われます。
• BART構成ファイルのretention_policyパラメーターで現在設定されている冗長性保持ポリシーでは、マークされた状況に関係なく、バックアップIDまたは名前が-iオプションで指定されている場合は、 DELETEサブコマンドでバックアップを削除できます。指定されたデータベースサーバのバックアップの合計数が、 retention_policyパラメータで現在指定されている冗長バックアップの最大数を超えています。バックアップの合計数が、指定された冗長バックアップの最大数以下である場合は、 -i backupオプションを指定したDELETEを使用して追加のバックアップを削除することはできません。
• 現在で設定したリカバリ保持ポリシーのもと retention_policyにかかわらず、そのマークされた状態の、BARTの設定ファイル内のパラメータの任意のバックアップをして削除することができDELETEバックアップ識別子または名前がで指定されたサブコマンド-iオプション、および場合バックアップの日付/時刻が、 retention_policyパラメータで現在指定されているリカバリ期間内ではありません。バックアップ日時がリカバリ期間内である場合は、 DELETEを-i backupオプションと一緒に使用して削除することはできません。
•
DELETE –i backup 注1:指定されたデータベースサーバーのバックアップの合計数が、BART構成ファイルのredundancy_policyパラメーターで現在設定されている指定された最大冗長バックアップの数より大きい場合にのみ、削除が行われます。注2:バックアップがBART構成ファイルのredundancy_policyパラメーターで現在設定されている回復期間内にない場合にのみ、削除が行われます。5.2.4.2 無期限保管ステータスのためのバックアップのマーク付け後で、そのようなバックアップを保存方針に基づいて削除の評価が可能な状態に戻すことにした場合は、最初に次のように-c nokeepオプションを指定して MANAGEサブコマンドを適用して保存状態を解除する必要があります。次の例で示されています。次に MANAGEサブコマンドがオプションなしで、または-sオプションのみを指定して呼び出されたときには 、現在のretention_policy設定に従って、アクティブ・バックアップが不要とマークされることがあります。5.2.4.3 古いバックアップの評価、マーク付け、および削除MANAGEサブコマンドが呼び出されると、冗長保持ポリシーのデータベースサーバーの現在のバックアップ数、またはリカバリウィンドウの保持ポリシーの現在の日時に基づいて、 -sオプションで指定されたデータベースサーバーのアクティブバックアップが評価されます。 -s allを指定した場合、または-sオプションを省略した場合は、すべてのデータベースサーバに対して。注:現在廃止または保持されているとマークされているバックアップのステータスは変更されません。このようなバックアップを再評価してから分類するには、まずMANAGE -c nokeepオプションをMANAGE -c nokeepしてそれらのステータスをアクティブにリセットする必要があります。詳しくは5.2.2項を参照してください。SHOW-BACKUPSサブコマンド現在アクティブとしてマークされ、残りのバックアップを表示するか、維持します:SHOW-BACKUPSサブコマンド現在アクティブとしてマークされ、残りのバックアップを表示するか、維持します:
5.2.5 増分バックアップの管理
• 保存方針ルールはフルバックアップに適用されます。バックアップが冗長性保持ポリシーによって使用されなくなった時期の判断は、 完全バックアップの 数によってのみ行われます。最大バックアップ数については、すべての増分バックアップがretention_policy設定に対する比較カウントから除外されます。バックアップがリカバリ期間保存ポリシーによって使用されなくなった時期の判断は、 完全バックアップのバックアップ日時によってのみ行われます。リカバリウィンドウと比較すると、チェーン内の連続する増分バックアップのバックアップ日時は無視されます。
•
• とき MANAGEサブコマンドが呼び出され、フルバックアップに適用されるステータスは、チェーン内のすべての連続した増分バックアップに適用されます。
• MANAGEとサブコマンドを-c { keep | nokeep }オプションでは、と増分バックアップのバックアップIDまたはバックアップ名を指定することはできません-i backupオプションを選択します。 -i backupオプションは、フルバックアップのバックアップIDまたはバックアップ名のみを指定できます。オプション-i all使用できます。 MANAGEサブコマンドに-c { keep | nokeep }した場合フルバックアップには-c { keep | nokeep }オプションが適用され、チェーン内のすべての増分バックアップに同じステータス変更が行われます。
• DELETEとサブ-s server -i backupオプションは、すべての連続する増分バックアップとともに増分バックアップは、このようにそのバックアップチェーンを短くする、削除された場合には、増分バックアップのバックアップ識別子またはバックアップ名を指定することができます。冗長保持ポリシーが使用され、 MANAGEサブコマンドが呼び出されると、フルバックアップの数がBART構成ファイルのretention_policyパラメーターで指定された最大数を超えると、最も古くアクティブなフルバックアップの状況が廃止に変更されます。冗長性保持ポリシーについては、 5.2.3.1 項を参照してください 。retention_policyパラメーターで指定された数を超えるバックアップの数を判別するときには、比較のために完全バックアップのみがカウントされます。増分バックアップの数は、 retention_policyパラメーター設定に対するこの比較の数に含まれません。バックアップチェーン: 1481749619582 => 1481749651927 => 1481749673603 => 1481749696905MANAGE以下で示すように、サブコマンドが呼び出されます。2番目のバックアップチェーン: 1481749997807 => 1481750098924MANAGEサブコマンドは、今4つのアクティブなフルバックアップの合計と、呼び出されます。回復期間保存方針が使用され、 MANAGEサブコマンドが呼び出されると、フルバックアップの日付/時刻が回復期間外(つまり、フルバックアップの日付/時間)である場合、アクティブなフルバックアップのステータスは廃止されます。時間は、 MANAGEサブコマンドが呼び出されたときの現在の日付/時刻で定義されている回復期間の開始よりも前で、その後BART構成ファイルのretention_policyパラメーターで設定された時間だけ前に戻ります。リカバリ期間の保存方針については、 5.2.3.2 項を参照してください 。最初のバックアップチェーン: 1481552078404 => 1481553088053 => 1481553914533 => 1481554802918 => 14815590143592番目のバックアップチェーン: 1481553651165 => 1481554203288 => 1481559303348MANAGEサブコマンドは、最初のフルバックアップ時に呼び出される1481552078404回復窓の外に落ちます。ときMANAGEサブコマンドが呼び出され、それは2016-12-13 09:20:03 ESTように1日のリカバリ期間の開始を作り、 2016-12-12 09:20:03 EST正確に一日早いです。このバックアップは、 2016-12-12 09:14:39 ESTの開始の約5½分前の2016-12-12 09:14:39 EST ( 2016-12-12 09:14:39 ESTに行われたため、バックアップは廃止されました。最初のバックアップチェーン全体が廃止予定になりました。増分バックアップの日時は、 2016-12-12 09:20:03 EST リカバリ期間の開始後に取得されているため、リカバリ期間内であることに注意してください。ただし 、チェーン内のすべてのバックアップは不要とマークされます。次の例は 、チェーンのフルバックアップに対して-c nokeepオプションを指定して MANAGEサブコマンドを呼び出すことによって、バックアップチェーン全体をアクティブ状態に戻す方法を示しています 。次の例は 、増分バックアップでの DELETEサブコマンドの使用法を示しています。最初のバックアップチェーン内の指定された増分バックアップ1481554802918とそれに続く増分バックアップ1481559014359が削除されます。MANAGEサブコマンドが再び呼び出されます。今回は両方のチェーンのフルバックアップがリカバリウィンドウの開始時間から外れたため、両方のバックアップチェーンが廃止されました2016-12-12 09:55:03 ESTです。以下に 、バックアップチェーンを無期限に保持する-c keep MANAGEサブコマンドと-c keepオプションの使用方法を示します 。 -c keepオプションを指定したMANAGEサブコマンドでは、増分バックアップではなく、チェーンのフルバックアップのバックアップIDまたはバックアップ名を指定する必要があります。
BARTは 、 BART_HOME /binディレクトリにあるbartプログラムを、希望のサブコマンドと適切なサブコマンドオプションを指定して呼び出すことによって使用されます。 BARTで利用可能なサブコマンドは次のとおりです。
• CHECK-CONFIG。 BART構成ファイル内のパラメーターの設定、およびWALアーカイブおよびバックアップのためのデータベースサーバーの適切な設定を確認してください。 5.4.1項を参照してください。
•
• bartプログラムの指定の直後に与えることができるいくつかの一般的なBARTオプションがあります 。BART_HOME /binディレクトリをBARTユーザアカウントのPATH環境変数に含めることをお勧めしますが、 bartプログラムは現在の作業ディレクトリとしてBART_HOME /binから呼び出すことができます。呼び出し手順は次のようになります。注意:コマンドexport PATH=.:$PATH現在の作業ディレクトリを含むために必要とされるBART_HOME /bin中にPATH 。特定のBARTサブコマンドに対してbartプログラムを呼び出すと、 BART_HOME /bin内にあるbart-scannerプログラムが呼び出されるため、これは必須です。BARTユーザアカウントの LD_LIBRARY_PATH環境変数を、 libpqライブラリを含むディレクトリを含めるように設定します。次の例に示すように、このディレクトリはPOSTGRES_INSTALL_HOME /libです。-h 、 - --help-v 、 - --version-d 、-- --debugBART設定ファイルへのフルディレクトリパスとして config_file_path を 指定し ます。デフォルトのBART構成ファイル BART_HOME /etc/bart.cfg を使用したくない場合は、このオプションを使用して /etc/bart.cfg 。
5.4 BARTサブコマンドすべてのサブコマンドはヘルプオプション( -h 、 - --help )をサポートします 。 helpオプションが指定されていると、その特定のサブコマンドに関する情報が表示されます。サブコマンド自体は実行されません。注:以下のセクションでは、サブコマンド・オプションを分かりやすくするために、構文図からhelpオプションを省略しています。わかりやすくするために、構文図ではオプションの単一文字形式のみも示しています。 オプションのサブセクションでは、オプションの単一文字と複数文字の両方の形式をリストアップ。
5.4.1 チェック設定CHECK-CONFIGサブコマンドは、BARTのコンフィギュレーション・ファイルのパラメータ設定だけでなく、そのため、データベース・サーバーの設定をチェック-sオプションが指定されています。-sオプションが指定されると、指定されたサーバーセクションのパラメーターがチェックされます。さらに 、データベースサーバーの特定の postgresql.confパラメータを正しく設定し、データベースサーバーを特定のプロセスに対してアクティブにする必要があります。これらの要件には以下が含まれます。
• cluster_ownerパラメータは、データベースクラスタディレクトリを所有するユーザアカウントに設定する必要があります。
•
•
• pg_hba.confファイルには、BARTので指定されたデータベースのスーパーユーザのための複製エントリ含まれている必要がありuserパラメータを。
•
• archive_command中のパラメータpostgresql.auto.confかpostgresql.confファイルを設定する必要があります。
• BART構成ファイルの allow_incremental_backupsパラメーターは、増分バックアップをとるデータベースサーバーに対して有効にする必要があります。CHECK-CONFIG必要な構成が正しく設定されていない場合、サブコマンドはエラーメッセージを表示します。server_nameは、正しく設定されているかどうかを確認するデータベースサーバの名前です。このオプションを省略すると、BART設定ファイルのグローバルセクションの設定がチェックされます。
5.4.2 INITINITサブコマンドは、BARTバックアップカタログのディレクトリを作成します。 INITは、BART構成ファイルのサーバーセクションにあるBART archive_commandパラメータの設定に基づいてPostgresのarchive_command構成パラメータを設定します。 INITサブコマンドはBART backupinfoファイルも再作成します。注: BART BACKUPサブコマンドの進行中は、 INITサブコマンドを呼び出さないでください。バックアップ処理によって影響を受けるバックアップはスキップされ、 INITサブコマンドによって無視されます。とき INITサブコマンドが呼び出され、いくつかの異なるアクションを同時に実行することができます。以下に、特定の条件およびオプションのもとで実行されるアクションを要約します。とき INITサブコマンドが呼び出され、次のアクションが常に実行されています。
• -sオプションで指定されたサーバー 、または-s allが指定されているか-sオプションが省略されている場合はすべてのサーバーについて、BARTバックアップカタログのディレクトリ構造は、 archived_walsサブディレクトリまで存在しない場合は完成します。とき INITサブコマンドは、-rオプションなしで起動され、以下のアクションが常に実行されています。
• -sオプションで指定されたサーバー、または -s allが指定されているか-sオプションが省略されている場合はすべてのサーバーに対して 、Postgres archive_command構成パラメーターを設定しようとします。場合archive_commandパラメータがすでに設定されている(つまり、 archive_commandいずれかでコマンド文字列に設定されているpostgresql.confファイルまたはpostgresql.auto.confファイル)、既存archive_command設定はBARTに置き換えされていないarchive_commandない限り設定-oオプションも指定されています。追加情報についてはセクション4.2.3.2を参照してください。とき INITサブコマンドは、-rオプションを指定して起動され、以下のアクションが常に実行されています。
• -sオプションで指定されたサーバー 、または-s allが指定されているか-sオプションが省略されている場合はすべてのサーバーに対して、backupinfoファイルはすべてのバックアップに対して再作成されます。 -iオプションが含まれていると、指定されたバックアップ用にbackupinfoファイルが再作成されます。とき INIT -r起動され、BARTは、バックアップディレクトリの内容を使用してbackupinfoファイルを再構築します。注:バックアップが最初にユーザー定義のバックアップ名で作成され、その後INIT -rオプションがそのbackupinfoファイルを再作成した場合、そのユーザー定義のバックアップ名は使用できなくなります。したがって、将来のバックアップへの参照では、整数のバックアップ識別子を使用する必要があります。BACKUPサブコマンドが正常に完了しなかった場合、backupinfoファイルが欠落している可能性があります 。-o 、 - --override既存の、アクティブPostgresの上書きする archive_commandのコンフィギュレーションパラメータ設定postgresql.confファイルやpostgresql.auto.conf BART使用してファイルarchive_command BARTの設定ファイルにパラメータを。 INIT生成したアーカイブコマンド文字列はpostgresql.auto.confファイルに書き込まれます。 注意:場合archive_mode構成パラメータがに設定されているoff 、その後、 -oオプションは、Postgresが設定するために使用する必要がありますarchive_command BART使用archive_command場合でも、BARTの設定ファイル内のパラメータarchive_command 、現在では設定されていないpostgresql.confもでpostgresql.auto.conf-r 、 - --rebuildbackup_idは整数のバックアップIDです。 backup_nameは、バックアップ用のユーザー定義の英数字名です。 allを指定した場合、またはオプションを省略した場合は、-sオプションで指定したデータベースサーバのすべてのバックアップのbackupinfoファイルが再作成されます。 -iオプションは、 -rオプションと一緒にしか使用できません。次の例では、BARTバックアップカタログディレクトリを完成させ、デフォルトのBARTアーカイブコマンドフォーマットscp %p %h:%a/%fを使用してPostgresの archive_commandを設定します。デフォルトのBARTアーカイブコマンドフォーマットは、BART archive_commandパラメータが明示的に含まれていない場合、またはBART設定ファイルのサーバセクション内にコマンド文字列が割り当てられている場合に使用されます。INITサブコマンドが呼び出されます。 archive_modeがon 、 archive_commandが設定さonいないため、 -oオプションは必要ありません。Postgresの archive_commandが次のように設定されました。次の例では、BART設定ファイルのBART archive_command = 'cp %p %a/%f'パラメータからPostgresの archive_commandパラメータをリセットして、既存のアクティブなアーカイブコマンドを上書きします。INITサブコマンドがで呼び出され-o現在のPostgresの上書きするオプションarchive_command設定を。Postgresの archive_commandが次のように設定されました。
5.4.3 バックアップBACKUPサブコマンドは、フルバックアップまたは増分バックアップを作成するために使用されます。バックアップは backup_path / server_name / backup_id によって形成されたディレクトリに保存され backup_pathここで、 backup_pathはBART構成ファイルのbackup_pathパラメーターに割り当てられた値、 server_nameは構成ファイルにリストされているデータベースサーバーの小文字の名前backup_id 。 BARTによって特定のバックアップに割り当てられた整数のバックアップID。一方で BACKUPサブコマンドが進行中で、他のプロセスがアクセスしたり、影響を受けたバックアップを妨害する許可されません。したがって、バックアップの進行中に発行された次のサブコマンド( INIT 、 SHOW-BACKUPS 、 VERIFY-CHKSUM 、 MANAGE 、およびDELETEはスキップされ、無視されます。注:バックアップ・ファイルをコピーする前に使用可能な十分なディスク・スペースがないかどうかを確認して警告するこの機能はBACKUPサブコマンドで提供されていますが、 RESTOREサブコマンドにはこれと同じ機能はありません。したがって、使用可能なディスクスペースが十分にないと、ファイルのコピー中にRESTOREサブコマンドがエラーを引き起こす可能性があります。postgresql.confファイル、必ずwal_keep_segmentsそうでなければ、の使用中に次のエラーが発生する可能性があり、構成パラメータが十分大きな値に設定されているBACKUPサブコマンド:wal_keep_segments構成パラメーターを低く設定すると、BART BACKUPサブコマンドがそれらをBARTバックアップカタログに保存する機会を得る前に、いくつかのWALファイルが削除される可能性があります。BART構成ファイルで、パラメータ設定 xlog_method=streamが特定のデータベースサーバーに適用される場合、そのデータベースサーバーに対してバックアップの作成と並行してトランザクションログのストリーミングが実行されます。それ以外の場合、トランザクションログファイルはバックアップの完了時に収集されます。 。 xlog_methodグローバル設定についてはセクション4.1を参照してください。データベースサーバによるxlog_method設定については、 4.2.5項を参照してください。server_nameは、BART構成ファイルで指定されているとおりにバックアップするデータベースサーバーの名前です。 allを指定した場合、すべてのサーバーがバックアップされます。 注: allが指定されていて、BART構成ファイルにリストされているデータベースサーバーへの接続を開くことができない場合、そのデータベースサーバーのバックアップはスキップされますが、バックアップ操作は他のデータベースサーバーに対して続行されます。データベースサーバ接続が失敗すると、次のエラーメッセージが表示されます。-F 、 - --format { p | t }バックアップファイルの形式を指定します。プレーンテキストの場合はp 、tarの場合はtを使用してください 。このオプションを省略した場合、デフォルトはtar形式です。 注:増分バックアップをとる場合は、 -F pオプションを指定する必要があります。-z 、 - --gziptarファイル出力のgzip圧縮レベルを指定します。 compression_levelは1から9までの数字で、9が最高の圧縮率です。このオプションはtarフォーマットにのみ適用可能です。backup_idは、親バックアップのバックアップIDです。 backup_nameは、親バックアップのユーザー定義の英数字名です。増分バックアップをとる場合は、このオプションを指定してください。親は、現在呼び出されている増分バックアップの前に作成されたバックアップです。親バックアップは、フルバックアップまたは増分バックアップのいずれかです。増分バックアップはプレーンテキスト形式でのみ取ることができるため、 –F pオプションも指定する必要があります。 注意:増分バックアップはスタンバイデータベースサーバーでは実行できません。増分バックアップの詳細については、 2.1項を参照してください。--backup-name backup_nameバックアップに割り当てられるユーザー定義のわかりやすい名前。これは英数字の文字列で、バックアップの実行時にタイムスタンプ値に置き換えられる次の変数が含まれます。1) %year - 4桁の年、2) %month - 2桁のmonth、3) %day - 2 - 桁の日、4) %hour - 2桁の時、5) %minute - 2桁の分、および6) %second - 2桁の秒。バックアップ名にパーセント記号( % )を文字として含めるには、英数字ストリングに%%を指定します。スペース文字を含む場合は、ストリングを一重引用符( ' )または二重引用符( " )で囲みます。ただし、他のサブコマンドで-iオプションを使用して参照する場合は、バックアップ名を引用符で囲む必要があります。バックアップ名の長さは49文字です。このオプションは、BART設定ファイルのserverセクションにある backup_nameパラメータを上書きします。 --backup-nameオプションが指定されておらず、BART構成ファイルでこのデータベースサーバーに対してbackup_nameパラメーターが設定されていない場合、バックアップは、BART割り当ての整数バックアップIDによってのみ他のBARTサブコマンドで参照できます。--thread-count number_of_threads注: 並列バックアップがN個のワーカースレッドで実行されている場合、サーバーとのN + 1個の同時接続が開始されます。場合 --thread-countオプションが省略され、その後、 thread_countこのデータベース・サーバーに適用BARTの設定ファイル内のパラメータが使用されています。このデータベースサーバーに対してthread_countが有効になっていない場合は、BART構成ファイルのグローバルセクションにあるthread_count設定が使用されます。これも設定されていない場合、デフォルトのスレッド数は1です。 thread_countパラメータについては、セクション4.1および4.2.5を参照してください。フルバックアップを取るためにpg_basebackupを使用することを指定します。有効なスレッドカウントの数は、BART設定ファイルのthread_countパラメータで指定されているように無視されます(セクション4.1および4.2.5を参照)。 注:フルバックアップを取る際に、有効なスレッド数が1より大きい場合、-- --with-pg_basebackupオプションが指定されていない限り、 pg_basebackupユーティリティはフルバックアップを取るために使用されません(パラレルワーカースレッドが使用されます)。 BACKUPサブコマンド。フルバックアップを取るためにpg_basebackup使用しないことを指定します。 注:フルバックアップを取る場合、有効なスレッド数が1しかない場合は、 --no-pg_basebackupオプションがBACKUPサブコマンドで指定されていない限り、 pg_basebackupユーティリティを使用してフルバックアップを取ります。増分バックアップを実行する前に、必要なMBMファイルがBARTバックアップカタログに存在することを確認してください。増分バックアップを正常に実行できること、または失敗することを知らせるメッセージが表示されます。 --parent時にオプションを指定する必要があります--checkオプションが使用されています。 --checkオプションが指定されている場合、実際の増分バックアップは行われません。
5.4.4 ショーサーバSHOW-SERVERSサブコマンドは、BARTの設定ファイルにリストされた管理データベースサーバの情報を表示します。server_nameは、BART構成情報を表示するデータベースサーバの名前です。 allを指定した場合、またはオプションを省略した場合は、すべてのデータベースサーバの情報が表示されます。
5.4.5 ショーバックSHOW-BACKUPSディスプレイに管理するデータベースサーバーのバックアップ情報をサブコマンド。server_nameは、バックアップ情報を表示するデータベースサーバの名前です。 allを指定した場合、またはオプションを省略した場合は、すべてのデータベースサーバのバックアップ情報が表示されます。backup_idは整数のバックアップIDです。 backup_nameは、バックアップ用のユーザー定義の英数字名です。 allを指定した場合、またはオプションを省略した場合は、該当するデータベースサーバのすべてのバックアップ情報が表示されます。-t 、 - --toggle
5.4.6 ベリファイチェックサムVERIFY-CHKSUMサブコマンドは、指定されたデータベース・サーバーまたはすべてのデータベース・サーバのフルバックアップと任意のユーザー定義の表領域のMD5チェックサムを検証します。チェックサムは、バックアップの現在のチェックサムとバックアップが取られたときのチェックサムを比較することによって検証されます。 VERIFY-CHKSUMサブコマンドは、プレーンな形式のバックアップには適用されません。 tar形式のバックアップにのみ使用されます。注: BART BACKUPサブコマンドの進行中にVERIFY-CHKSUMが呼び出されると、バックアップ処理の影響を受けるバックアップはスキップされ、 VERIFY-CHKSUMサブコマンドによって無視されます。server_nameは、tarバックアップチェックサムを検証するデータベースサーバの名前です。 allを指定した場合、または-sオプションを省略した場合、チェックサムはすべてのデータベースサーバに対して検証されます。backup_idは、チェックサムをユーザー定義の表領域と一緒に検証する、tar形式のフルバックアップの整数のバックアップ識別子です。 backup_nameは、フルバックアップのユーザー定義の英数字名です。 allを指定した場合、または-iオプションを省略した場合は、関連するデータベースサーバーのすべてのtarバックアップのチェックサムが検証されます。
5.4.7 MANAGEMANAGEサブコマンド評価し、マークを、および保存ポリシーに基づいたバックアップを削除します。 MANAGEサブコマンドは、 wal_compressionパラメーターに基づいてアーカイブWALファイルの圧縮も呼び出します。注: BART BACKUPサブコマンドの進行中にMANAGEサブコマンドを呼び出さないでください。バックアップ処理によって影響を受けるバックアップはスキップされ、 MANAGEサブコマンドによって無視されます。保存方針の適用は 、BART設定ファイルのretention_policyパラメータに依存します。保存ポリシーに従ってバックアップを評価し、そのステータスをマークし、不要なバックアップを削除するなど、バックアップの管理はMANAGEサブコマンドで実行されます。保存方針管理については、 5.2項を参照してください。とき MANAGEサブコマンドが呼び出され、いくつかの異なるアクションを同時に実行することができます。以下に、特定の条件およびオプションのもとで実行されるアクションを要約します。
• -sオプションで指定されたサーバーの場合、または-s allが指定されているか-sオプションが省略されている場合はすべてのサーバーの場合、アクティブなバックアップは保存方針に従って廃止予定としてマークされます。
• MANAGEサブコマンドを呼び出す前に不要とマークされた、または保持されたすべてのバックアップは、同じ前の状況でマークされたままになります。
• で指定したサーバの -sオプション、またはすべてのサーバーの場合は-s all指定されているか、 -sオプションが省略され、実行されたアクションは、他の指定されたオプション(つまり、によって決定される-l古いバックアップを一覧表示するには、 -d不要なバックアップを削除する場合は-c 、バックアップをアクティブ状態に維持するか元の状態に戻す場合は-c 、すべてのアクションの予行-nを実行する場合は-n )。
• MANAGEサブコマンドを呼び出す前に廃止または保持されていたすべてのバックアップは 、 -cオプション( -nオプションなし)を指定して、または特定のバックアップのバックアップ状況を変更しない限り、同じ前状況でマークされたままになります。 -iオプション
• アーカイブWALファイルの圧縮は、増分バックアップをとるデータベースサーバーに対しては許可されていません。つまり、パラメータ wal_compressionとallow_incremental_backups両方を同じデータベースサーバに有効にすることはできません。
•
• RESTOREサブコマンドが呼び出されたとき、 -cオプションが指定されている場合、またはcopy_wals_during_restore BART構成パラメータのenabled設定がデータベースサーバに対して有効である場合は、次の処理が行われます。圧縮されている場合、アーカイブWALファイルはBARTに格納されます。バックアップカタログとWALファイルの復元先はBARTホストを基準としたリモートホスト上にあり、アーカイブされたWALファイルはネットワークを介してリモートホストに圧縮形式で送信されますが、gzip圧縮プログラムはRESTORE操作を実行するときにリモートホストへのログインに使用されるリモートユーザーアカウントのPATHでアクセス可能です。このリモートユーザーは、BART設定ファイルのremote_hostパラメータ( 4.2.5項を参照)またはRESTORE -rオプション( 5.4.8項を参照)のいずれかで指定されます。圧縮WALファイルを送信すると、ネットワークトラフィックが減少します。圧縮されたWALファイルがネットワークを介して送信された後、 RESTOREサブコマンドはポイントインタイムリカバリ操作のためにファイルを解凍します。
• とき RESTOREサブコマンドなしで起動された-cオプションとの無効設定copy_wals_during_restoreのために必要なBARTの設定パラメータデータベース・サーバに対して有効である、その後、任意の圧縮、アーカイブWALファイルRESTORE操作は、BARTのバックアップカタログで圧縮されていないです。データベースサーバのアーカイブリカバリが開始されたときに、圧縮されていないWALファイルをrecovery.confファイルのrestore_commandによってリモートホストにストリーミングできます。-l 、 - --list-obsolete-d 、 - --delete-obsolete-c 、 - --change-status { keep | nokeep }無期限に保持する keepにバックアップのステータスを変更します 。現在のマークされているステータスに関係なく、バックアップのステータスをアクティブステータスに戻すには、 nokeepを指定します。その後、バックアップは再評価され、その後のMANAGEサブコマンドの使用によって、保存方針に従って古いとマークされる可能性があります。 注: -cオプションを使用するときは、 –iオプションを含める必要があります。backup_idは整数のバックアップIDです。 backup_nameは、バックアップ用のユーザー定義の英数字名です。 allを指定した場合、アクションはすべてのバックアップに適用されます。 注: -iオプションは、 -cオプションと一緒にしか使用できません。-n 、 - --dry-run操作が実行されたかのように結果を表示しますが、実際には変更は行われません。つまり、実際にアクションを実装する前に結果を確認できるように、テスト実行が実行されます。したがって、 -dオプションと一緒に指定された-nは、どのバックアップを削除するかを表示しますが、実際にはバックアップを削除しません。 -nオプションを-cオプションと一緒に指定すると、keepまたはnokeepアクションが表示されますが、実際にはバックアップは現在の状況から変更されません。他のオプションを指定せずに、または-sオプションのみを指定して、 -n単独で指定すると、どのアクティブ・バックアップが不要とマークされるかが表示されますが、実際にはバックアップ状況は変更されません。さらに、データベースサーバーでWAL圧縮が有効になっていても、圧縮されていないアーカイブWALファイルでは圧縮は実行されません。場合 MANAGEサブコマンドが呼び出され、次のメッセージがWALファイル圧縮が行われていることを示す表示されます。
5.4.8 復元RESTOREサブコマンドは、指定されたディレクトリの場所に指定されたデータベース・サーバーのバックアップとそのアーカイブWALファイルを復元します。適切な場合RESTOREオプションが指定されている、 recovery.confファイルは回復の設定パラメータで生成されます。この参考資料は、基礎となるポイントインタイムリカバリプロセス、および BARTによって recovery.conf ファイルに 生成されるリストアオプションの意味と使用法についての詳細な情報を提供し ます。注:バックアップの復元先となるホストに、バックアップとそのアーカイブWALファイルに十分なディスクスペースがあることを確認してください。 RESTOREサブコマンドには、バックアップファイルを復元する前に十分なディスクスペースがあるかどうかを検出する機能はありません。したがって、使用可能なディスクスペースが十分にないと、ファイルのコピー中にRESTOREサブコマンドがエラーを引き起こす可能性があります。手順1:復元操作を実行するPostgresデータベースサーバーを停止します。ステップ2:データディレクトリのpg_xlogサブディレクトリをpg_xlogて、BARTバックアップカタログ( backup_path / server_name /archived_wals )にまだアーカイブされていないWALファイルを必ず保存してください。アーカイブされていないファイルがいくつかある場合は、それらを一時的な場所に保存します。 RESTOREサブコマンドを完了した後、データベースサーバを再起動する前に、 pg_xlog これらのファイルを復元した pg_xlogサブディレクトリにコピーする必要があります。ステップ3:現在のデータディレクトリと新しいディレクトリのどちらに復元するかを決めます。現在のデータディレクトリに復元している場合は、データディレクトリの下のすべてのファイルとサブディレクトリを削除します。たとえば、Postgresデータベースサーバーの初期インストールの場合、このディレクトリは POSTGRES_INSTALL_HOME /dataです。新しいディレクトリに復元する場合は、バックアップしたデータベースクラスタを復元するディレクトリを作成します。 BARTユーザーアカウント、 remote_host設定パラメータで指定されたユーザーアカウント 、または使用する場合はRESTOREサブコマンドの--remote-hostオプションでデータディレクトリに書き込みできることを確認してください 。ステップ4:ステップ3で説明したのと同じプロセスを表スペースに対して実行します。BART構成ファイルのtablespace_pathパラメーターには、表スペース・データ・ファイルの復元先の表スペース・ディレクトリー・パスを含める必要があります。詳細は項4.2.4を参照してください。手順5:復元操作を実行するために使用するタイムラインIDを特定します。手順6:復元操作に使用するバックアップを特定し、バックアップIDまたはバックアップ名を取得します。最新の(つまり最新の)バックアップを使用したい場合は、 -iオプションを省略することができ、 RESTOREサブコマンドはデフォルトでそのバックアップを使用します。SERVER NAME BACKUP ID BACKUP NAME BACKUP PARENT BACKUP TIME BACKUP SIZE WAL(s) SIZE WAL FILES STATUSステップ7: BART RESTOREサブコマンドを実行してください。任意の場合 -t timeline_id 、 -x target_xid 、または-g target_timestampオプションが与えられ、その後、 recovery.confファイルが指定したオプションに対応するリカバリ設定パラメータを用いて生成されます。つまり、データベースサーバーの再起動時にポイントインタイムリカバリが実行されます。-t timeline_id 、 -x target_xid 、および-g target_timestampオプションを指定しないと、最小限のrecovery.confファイルが生成されます。アーカイブからのファイルの復元は行われず、アーカイブの回復は整合性がとれるまで行われます。注:無効な値がオプションに指定された場合、無効なオプションの組み合わせが指定されている場合(両方の場合など、又は-x target_xidと-g target_timestampオプションが与えられている)、エラーメッセージがBARTによって生成されません。無効なオプションは受け入れられ、 recovery.confファイルに渡されます。このファイルは、再起動時にデータベースサーバによって処理されます。DEBUG: restore command: cat /opt/backup/acctg/1490809695281/base.tar.gz | tar -C /opt/restore -xzf -注意: -cオプションが指定されている場合、またはcopy_wals_during_restore BART構成パラメータのenabled設定がこのデータベースサーバに対して有効である場合は、次の処理が行われます。
• データベースクラスタを -p restore_pathオプションで指定されたディレクトリに復元するほかに 、バックアップのアーカイブされたWALファイルがBARTバックアップカタログからサブディレクトリrestore_path /archived_walsコピー/archived_walsます。
• 場合は recovery.confファイルが生成され、に設定されたコマンド文字列restore_commandパラメータは、このからWALファイルを取得しarchived_walsにサブディレクトリの相対をrestore_pathよう親ディレクトリ: restore_command = 'cp archived_wals/%f %p'手順9:復元されたデータベースクラスタの復元されたディレクトリとデータファイルをディレクトリrestore_pathます。すべてのファイルとディレクトリは、データベースサーバの起動に使用する予定のユーザアカウントが所有している必要があります。このユーザーアカウントは通常Postgresのユーザーアカウント( enterprisedbまたはpostgres )ですが、他のユーザーアカウントでもかまいません。必要に応じて、 restore_pathディレクトリー、そのファイル、およびそのサブディレクトリーのユーザーとグループの所有権を再帰的に変更します。ステップ10: Point-in-Timeリカバリを実行している場合は、 restore_pathディレクトリにあるrecovery.confファイルを調べて、指示された時点にリカバリするための適切なパラメータ設定が含まれていることを確認します。それ以外の場合、 recovery.confファイルは、クラスタが整合性を保つまでのみリカバリするように設定する必要があります。どちらの場合でも、設定は必要に応じて変更できます。ステップ11:この時点ではWALアーカイブは無効になっています。手順12:データベースサーバを起動してリカバリを開始します。完了したら、データベースサーバのログファイルを調べて、リカバリが成功したことを確認します。注:バックアップを元のデータベースクラスタが存在していた場所とは異なるデータベースクラスタディレクトリに復元する場合、バックアップがある新しいディレクトリの場所を反映するようにサポートサービススクリプトを更新しないと、データベースクラスタの場所に依存する特定の操作が失敗する可能性があります。復元されました。
注: RHEL 7 / CentOS 7でAdvanced Server 9.6のサービスユニットファイルを変更する前に、 『 EDB Postgres Advanced Server 9.6インストールガイド 』の「 3.5.2 CentOSまたはRedHat 7.xでのデータディレクトリの場所の変更」の手順を参照してください。 。 RHEL 7 / CentOS 7のAdvanced Server 10については、 『 EDB Postgres Advanced Server 10インストールガイド』のセクション3.3.3の同じトピックを参照してください。
server_nameは、復元するデータベースサーバの名前です。restore_pathは、データベースサーバーのバックアップを復元するディレクトリパスです。ディレクトリは空で、適切な所有権と特権が割り当てられている必要があります。backup_idは、復元に使用されるバックアップの整数のバックアップIDです。 backup_nameは、バックアップ用のユーザー定義の英数字名です。このオプションを省略すると、デフォルトで最新の(つまり最新の)バックアップが使用されます。-r 、 --remote-host remote_user --remote-host remote_user @ remote_host_address --remote-host remote_user remote_host_addressremote_userは、パスワードなしのSSH / SCPログイン接続を受け入れるリモートデータベースサーバーホストのユーザーアカウントで、バックアップを復元するディレクトリの所有者です。 remote_host_addressは、バックアップの復元先となるリモートホストのIPアドレスです。このデータベースサーバのremote_hostパラメータがBART設定ファイルに設定されていない場合は、このオプションを指定する必要があります。 注: BARTユーザー・アカウントが、 -pオプションで指定されたrestore_pathディレクトリーを所有するオペレーティング・システム・アカウントと同じでない場合は、 remote_host BART構成パラメーターまたはRESTOREサブコマンドの-rオプションを使用してrestore_pathディレクトリー所有者を指定する必要があります。 BARTホストと同じホスト上のディレクトリに復元するとき。 remote_hostパラメータについては、 4.2.5項を参照してください。-w, --workers number_of_workersnumber_of_workersは、増分バックアップの変更ブロックを復元場所にストリーミングするために並行して実行するワーカープロセスの数の指定です。たとえば、4つのワーカープロセスが指定されている場合、復元ホスト上の4つの受信側プロセスとBARTホスト上の4つのストリーマプロセスが使用されます。各ストリーマプロセスの出力は受信機プロセスの入力に接続されている。受信機はそれが修正されたブロックファイルを必要とするポイントに到達すると、それはそれらの修正されたブロックをその入力から取得する。この方法では、変更されたブロックファイルはリストアホストディスクに書き込まれません。 -wオプションを省略した場合、デフォルトは1ワーカープロセスです。timeline_idは、ポイントインタイムリカバリのためにアーカイブされたWALファイルを再生するために使用されるタイムラインの整数の識別子です。target_xidは、時点までのトランザクションを決定するトランザクションIDの整数IDです。ポイントインタイムリカバリが必要な場合は、 -x target_xidまたは-g target_timestampオプションのtarget_xidか一方のみを含める必要があります。target_timestampは、ポイントインタイムtarget_timestampがtarget_timestampとする時点までの時点を決定するタイムスタンプです。ポイントインタイムリカバリが必要な場合は、 -x target_xidまたは-g target_timestampオプションのtarget_xidか一方のみを含める必要があります。-c 、 - --copy-wals指定した場合、アーカイブされたWALファイルはBARTバックアップカタログからディレクトリ restore_path /archived_wals コピー /archived_walsます。 BARTがポイントインタイムリカバリ用のrecovery.confファイルを生成した場合、 restore_commandはデータベースサーバのアーカイブリカバリのためにrestore_path /archived_walsからWALファイルを取得します。 -cオプションが省略され、BART構成ファイルのcopy_wals_during_restoreパラメーターがこのデータベースサーバーに適した方法で有効になっていない場合、デフォルトのアクションは、 recovery.confファイルのrestore_commandがアーカイブWALファイルを直接取得するために生成されます。 BARTバックアップカタログから。 copy_wals_during_restoreパラメーターについては、セクション4.1および4.2.5を参照してください。
5.4.9 削除DELETEサブコマンドは、そのアーカイブWALファイルと一緒に指定したバックアップのBARTのバックアップカタログからサブディレクトリとデータファイルを削除します。bart DELETE –s server_name注: BART BACKUPサブコマンドの進行中はDELETEサブコマンドを呼び出さないでください。バックアップ処理によって影響を受けるバックアップはスキップされ、 DELETEサブコマンドによって無視されます。server_nameは、バックアップを削除するデータベースサーバの名前です。backup_idは、削除するバックアップの整数のバックアップIDです。 backup_nameは、バックアップ用のユーザー定義の英数字名です。複数のバックアップ識別子とバックアップ名をカンマ区切りリストで指定できます。各コンマの前後に空白がある場合は、リストを一重引用符で囲む必要があります。 allを指定した場合は、指定したデータベースサーバーのすべてのバックアップとそれらのアーカイブWALファイルが削除されます。-n 、 - --dry-run削除後、データベースサーバのBARTバックアップカタログには、削除されたバックアップIDに対応するディレクトリが含まれなくなりました。 archived_walsサブディレクトリには、もはやバックアップのWALファイルが含まれていません。
わかりやすくするために、多文字形式もサポートされている場合、構文図には1文字形式のオプションのみが示されています。 オプションのサブセクションのリストの両方のオプションの単一文字と複数文字の形。デフォルトの方法では、新しいWALファイルが BARTバックアップカタログのarchived_walsディレクトリに到着するたびにWALスキャナに通知されます 。その後、WALファイルをスキャンしてMBMファイルを作成します。このアプローチは、WALファイルがrsyncユーティリティを使用してBARTバックアップカタログに出荷されている場合や、特定のプラットフォームの場合など、場合によっては機能しません。その結果、WALファイルは archived_walsディレクトリにコピーされますが、WALスキャナはそれを認識していないため、それらをスキャンしてMBMファイルを生成することはありません。これにより、増分バックアップが失敗します。これは 、BART設定ファイルのscan_intervalパラメータを使用して行われるタイマーベースのWALスキャン方法を使用することで回避できます(セクション4.1および4.2.5を参照)。 scan_intervalの値は、WALスキャナが新しいWALファイルを検索してスキャンするまでの秒数です。場合 bart-scannerプログラムが起動され、それが有効で各データベース・サーバ用に別のプロセスをフォークallow_incremental_backupsパラメーター。 allow_incremental_backupsパラメータについては、セクション4.2.5を参照してください。
•
• 場合は --daemonオプションが指定され、その後、WALスキャナプロセスはバックグラウンドで実行されます。すべての出力メッセージはBARTログファイルで見ることができます。場合 BART_HOME /binディレクトリには、BARTのユーザーアカウントの中に含まれていないPATH環境変数、そしてBART_HOME /bin WALスキャナを呼び出すときに現在の作業ディレクトリでなければなりません。一般的な呼び出し構文は次のようになります。./bart-scanner option注: WALスキャナープログラムの呼び出しに失敗した場合は、 BARTユーザーアカウントの LD_LIBRARY_PATH環境変数をlibpqライブラリを含むディレクトリを含めるように設定する必要があります。 LD_LIBRARY_PATH設定については、 5.3項を参照してください。-h 、 - --help-v 、 - --version-d 、-- --debugBART設定ファイルへのフルディレクトリパスとして config_file_path を 指定し ます。デフォルトのBART構成ファイル BART_HOME /etc/bart.cfg を使用したくない場合は、このオプションを使用して /etc/bart.cfg 。内容を印刷するMBMファイルへのフルディレクトリパス。アーカイブパスディレクトリ backup_path / server_name /archived_wals は、MBMファイルが含まれています。 注: このオプションは、発生した可能性がある問題をデバッグするためにEnterpriseDBサポートチームを支援するために使用されます。スキャンするWALファイルへのフルディレクトリパス。アーカイブパスディレクトリ backup_path / server_name /archived_wals は、WALファイルが含まれています。アーカイブパス内のWALファイルにそのMBMファイルがない場合に使用します。BART設定ファイルを再読み込みしてください。キーワードRELOADは大文字と小文字を区別しません。 このオプションは 、 WALスキャナーの起動後に設定ファイルを変更する場合に役立ちます。それは設定ファイルをリロードし、それに応じてWALスキャナを調整します。たとえば、増分バックアップを許可するサーバーセクションがBART設定ファイルから削除されると、そのサーバーに関連付けられているプロセスは停止します。同様に、増分バックアップを許可するサーバーが追加された場合、そのサーバーのWALファイルをスキャンするために新しいWALスキャナープロセスが起動されます。対話的に実行されているWALスキャナを停止するには 、WALスキャナを実行している端末でcntrl-Cを入力するか 、またはSTOPオプションを指定して別の端末からbart-scannerプログラムを呼び出します。WALスキャナーはバックグラウンドプロセスとして実行されます。 BART設定ファイルのallow_incremental_backupsパラメータでWALスキャンが有効になっているデータベースサーバーごとに個別のバックグラウンドプロセスもあります。EnterpriseDBサポートチームが発生した問題のデバッグを支援するために MBMファイルの内容を印刷する必要が ある場合は 、次の例のように -p オプションを 使用し てファイルを指定します。*...................................................................................................
•
•
• 次のセクションでは、フルバックアップのみをとるためのこのシステムの設定手順と操作を示します。 (増分バックアップもサポートするには 、目的のデータベースサーバーに対してallow_incremental_backupsパラメーターを有効にして 、WALスキャナープログラムを使用してください。)
6.1 BART設定ファイル
6.2.1 BARTユーザアカウント用の公開鍵ファイルの生成.sshディレクトリにアクセスできるグループまたは他のユーザーがいないことを確認してください 。
Advanced ServerデータベースがBARTユーザーアカウントと同じホストにあり、Advanced Serverデータベースクラスタの所有者もBARTユーザーアカウントである場合(この場合はenterprisedb )、パスワードなしのSSH / SCP接続を確立する必要があります。自分自身と同じユーザーアカウント。6.2.1に示すように公開鍵ファイルが生成されたばかりのBARTホストで、既存の任意の認証済み鍵ファイルに公開鍵ファイルを追加して、認証済み鍵ファイルを作成します。authorized_keysファイルには、以下で設定されたファイルのパーミッション600を持っている必要がありchmod 600コマンド、そうでない場合は、パスワードレス接続は失敗します。パスワードなしの接続をテストします。 sshコマンドを使用して 、パスワードの入力を求められることなく、現在ログインしているのと同じユーザーアカウント( enterprisedb )にアクセスできることを確認します。リモートホスト192.168.2.24で 、BARTホスト192.168.2.22上のBARTユーザーアカウントenterprisedbにアクセスするためのリモートデータベースサーバーユーザーアカウント enterprisedb の公開鍵ファイルを作成します 。authorized_keysファイルには、以下で設定されたファイルのパーミッション600を持っている必要がありchmod 600コマンド、そうでない場合は、パスワードレス接続は失敗します。
BARTホスト192.168.2.22で 、リモートホスト192.168.2.24上のリモートデータベースサーバユーザアカウントenterprisedbにアクセスするためのBARTユーザアカウント enterprisedb の公開鍵ファイルをコピーします 。BARTホスト上のBARTユーザアカウントenterprisedb の公開鍵ファイル id_rsa.pub 、 6.2.1項で生成され、192.168.2.24のリモートAdvanced Serverホストにコピーされます。リモートホストの enterprisedbユーザーアカウントにログインし、公開鍵ファイルをその.sshディレクトリの下にあるリモートenterprisedbユーザーアカウントのauthorized_keysファイルにコピーし.ssh 。authorized_keys のファイル許可を調整してください 。
リモートホスト192.168.2.24で 、BARTホスト192.168.2.22上のBARTユーザーアカウントenterprisedbにアクセスするためのリモートデータベースサーバーユーザーアカウント postgres の公開鍵ファイルを作成します 。authorized_keysファイルが示されているようにファイル許可600を持っていることを確認してください 、そうでなければパスワードなしの接続は失敗します。パスワードなしの接続をテストします。ユーザアカウント postgres としてログインしている間にリモートホストから、パスワードの入力を求められることなくBARTユーザアカウントでBARTホストにログインできることを確認します。
BARTホスト192.168.2.22で 、リモートホスト192.168.2.24上のリモートデータベースサーバのユーザアカウントpostgresにアクセスするためのBARTユーザアカウント enterprisedb の公開鍵ファイルをコピーします 。BARTホスト上のBARTユーザアカウントenterprisedb の公開鍵ファイル id_rsa.pub 、 6.2.1項で生成され、192.168.2.24のリモートPostgreSQLホストにコピーされます。authorized_keys のファイル許可を調整してください 。
BARTユーザーアカウントがバックアップを開始したときに各データベースサーバーへのパスワードアクセスを要求されないようにするために、 .pgpassファイルには次のエントリが含まれています。このファイルは、ホームディレクトリ/opt/PostgresPlus/9.5AS/.pgpassあるBARTユーザーアカウントenterprisedb用/opt/PostgresPlus/9.5AS/.pgpass 。
6.4 WALアーカイブ設定パラメータとき INITサブコマンドが呼び出され、Postgresのarchive_commandで構成パラメータpostgresql.auto.confファイルはBARTに基づいて設定されるarchive_command BART構成ファイル内にパラメータ:postgresql.auto.conf後にファイルには、次が含まれているINITサブコマンドが呼び出されます。archive_command使用しcp代わりにコマンドscp BARTのバックアップカタログがこのデータベースクラスタおよびバックアップカタログを所有しているBARTユーザーアカウント、ローカルにあるので、 enterprisedb 、Advanced Serverを実行している同じユーザーアカウントです。その結果、アーカイブ操作中にディレクトリのアクセス権が競合することはありません。とき INITサブコマンドが呼び出され、Postgresのarchive_commandで構成パラメータpostgresql.auto.confファイルがデフォルトで設定され、BARTのBARTフォーマットはarchive_commandそれが明示的にBARTの設定ファイルでこのデータベース・サーバー用に設定されていないので、パラメータを:デフォルトのBART archive_commandフォーマットは次のとおりです。archive_command使用scp BARTのバックアップカタログがこのデータベースクラスタに対してリモートであるため、コマンドを。 BARTユーザーアカウントenterprisedbはscpコマンドで指定されます。これは、アーカイブされたWALファイルがコピーされるBARTバックアップカタログを所有するユーザーアカウントだからです。その結果、アーカイブ操作中にディレクトリのアクセス権が競合することはありません。とき INITサブコマンドが呼び出され、Postgresのarchive_commandで構成パラメータpostgresql.auto.confファイルがデフォルトで設定され、BARTのBARTフォーマットはarchive_commandそれが明示的にBARTの設定ファイルでこのデータベース・サーバー用に設定されていないので、パラメータを:デフォルトのBART archive_commandフォーマットは次のとおりです。archive_command使用scp BARTのバックアップカタログがこのデータベースクラスタに対してリモートであるため、コマンドを。 BARTユーザーアカウントenterprisedbはscpコマンドで指定されます。これは、アーカイブされたWALファイルがコピーされるBARTバックアップカタログを所有するユーザーアカウントだからです。その結果、アーカイブ操作中にディレクトリのアクセス権が競合することはありません。
backup_path構成パラメーターで指定されたディレクトリーを作成してください。注: BARTサブコマンドを呼び出す前に、BARTユーザアカウントのホームディレクトリの下にプロファイルを設定して、 LD_LIBRARY_PATHおよびPATH環境変数を設定してください。詳しくはセクション4.1のステップ3をご覧ください。注: archive_modeがoff場合、またはPostgresのarchive_commandパラメーターがすでに設定されていてオーバーライドする必要がある場合は、 -oオプションをINITサブコマンドと一緒に指定して、Postgresのarchive_command構成パラメーターを強制的に設定します。BART SHOW-SERVERSサブコマンドは次のように表示します。注: [ ARCHIVE PATHフィールドには、WALファイルがコピーされる場所へのフルディレクトリパスが表示されます。このディレクトリパスは、 postgresql.confファイルのPostgres archive_commandパラメータまたは各データベースサーバのpostgresql.auto.confファイルに指定されているディレクトリパスと一致する必要があります。
データベースサーバーの構成設定でarchive_timeoutパラメータを使用して新しいセグメントファイルに切り替えるようにWALアーカイブを設定する頻度によっては、アーカイブされたWALファイルが頻繁に表示されないことがあります。
6.7 フルバックアップをとる
6.8 ポイントインタイムリカバリテーブル名 hr_rmt_t n _ hhmiでは、 nはアクティブなタイムラインを表します。 hhmiは、テーブルが作成されたおおよその時間です。たとえば、 hr_rmt_t1_1356は、タイムライン#1がアクティブな間、午後1時56分に作成されました。-rw------- 1 postgres postgres 16777216 Mar 29 14:07 000000010000000000000004-rw------- 1 postgres postgres 16777216 Mar 29 13:50 000000010000000000000005リモートホスト上に、PostgreSQLデータベースクラスタの復元先となるディレクトリが作成されます。この復元パスは 、ユーザーアカウントpostgresが所有する/opt/restore_pg95です。BART設定ファイルでは、リモートユーザとリモートホストのIPアドレス postgres@192.168.2.24がremote_hostパラメータで設定されていることにremote_hostください。 BART構成ファイルに指定されていない場合は、 RESTOREサブコマンドを指定するときにこの情報を--remote-hostオプションで指定する必要があります(例えば、 bart RESTORE --remote-host postgres@192.168.2.24 )。SERVER NAME BACKUP ID BACKUP NAME BACKUP PARENT BACKUP TIME BACKUP SIZE WAL(s) SIZE WAL FILES STATUS点検 /opt/restore_pg95/recovery.confそれが正しい回復設定が含まれていることを確認するために、ファイルを:BART構成ファイルのcopy_wals_during_restoreパラメータがデータベースサーバーhrに対してenabledに設定されているため、 /opt/restore_pg95 の archived_walsサブディレクトリから復元します。注: BART RESTORE操作はpostgresql.confファイルの最後にarchive_mode = offパラメータを追加することによってWALアーカイブを停止します。ファイル内のこの最後のパラメータは、ファイル内の同じパラメータの他の以前の設定をオーバーライドします。最後の設定を削除し、データベースサーバーを再起動してWALアーカイブを開始します。
BARTバックアップカタログ内のバックアップファイルとアーカイブされたWALファイルを永久に保存するか、単に削除するかを決定します。 BARTをアンインストールしてもこれらのファイルには影響しません。たとえば、BART DELETEサブコマンド( 5.4.9項を参照)を使用してすべてのファイルを削除したり、Linuxコマンドrm –rf /opt/backupを使用してBARTバックアップカタログ/opt/backupを削除したり/opt/backup 。
8. 最近の是正
• wal _ levelがlogical設定されている場合、 BART check - configコマンドはエラーをスローしていました。 wal _ level logicalはbart-scannerに有効なので、エラーチェックは削除されました。
• ログ内のエラーは sorry, too many connections already BARTはサーバーにすばやく続けて何度も再接続しようとするため、バックアップ中にsorry, too many connections already気付いています。これは修正されました。
• 表領域名が PG _ BARTで始まるネストした表領域では 、 backupinfoファイルが同じバックアップの表領域情報を複数回リストしています。 BARTが実際にバックアップの一部であるものより多くのテーブルスペースのパスを復元することを期待しているため、これはユーザーがバックアップを復元しようとするとエラーを引き起こします。これは修正されました。
•
• とき bart show - backupsコマンドが実行された、最終更新時刻は、バックアップ時間として表示されていました。これは修正され、バックアップ停止時間がバックアップ時間として表示されるようになりました。