今回は、Silverの「運用管理 - バックアップ方法(ポイントインタイムリカバリ(PITR)の概念と手順)」からの出題です。
データベースサーバを停止する。
tar コマンドでデータベースクラスタ全体のコピーを取得する。
データベースに接続し、pg_stop_backup を実行する。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2022年2月2日
ポイントインタイムリカバリ(PITR)は開始点となるデータベースの状態(ベースバックアップ)と、それ以降のデータベースへの変更(WAL)を使って、継続的にデータベースのバックアップを取得し、必要なときはデータベースを任意の時点に復元できる方法です。
利用にあたっては、まずWALファイルを保管するWALアーカイブの機能を有効にする必要があります。ベースバックアップの取得は、pg_basebackup コマンドを使うのが簡単ですが、内部的に何を実行しているのかは理解しておきましょう。pg_basebackupを使わない場合は、次の手順になります。
まず、データベースに管理者ユーザで接続し、pg_start_backupを実行します。具体的には SELECT pg_start_backup('label', false, false); のようなSELECT文を実行します。
次に、tar や cp など、OSで利用できる任意のコマンドを使って、データベースクラスタ全体のコピーを作成します。注意すべきこととして、コピー時にデータベースサーバを停止させないこと、pg_dump や pg_dumpall などのPostgreSQLのバックアップコマンドではなく、ファイルを物理的にコピーするコマンドを使うことがあります。データベースを停止しないので、コピー中にデータベースファイルが書き換えられてしまう可能性がありますが、それでもベースバックアップとして機能するので心配しなくて大丈夫です。
コピーが終わったら、再びデータベースに管理者ユーザで接続し、pg_stop_backup を実行します。
間違っているものを選ぶ問題なので、正解はCです。
PITRを使うには、Dのステップで作成されるベースバックアップを保管することはもちろん重要ですが、Aのステップで設定したWALアーカイブを継続的に保管することも同じく重要で、この両方がなければ意味を成さないことに注意してください。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.