今回は、Silverの「運用管理 - バックアップ方法」からの出題です。
pg_dump コマンドを実行する
pg_dumpall コマンドを実行する
psql でデータベースに接続し、COPY コマンドを実行する
データベースを停止して、データベースクラスタ全体を tar コマンドなど OS 付属のコマンドを使ってコピーする
データベースを停止せずに、データベースクラスタ全体を tar コマンドなど OS 付属のコマンドを使ってコピーする
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2013年1月30日
データベースのバックアップは運用管理において最も重要なポイントの一つです。
PostgreSQLでは、データベースの論理的なバックアップを取得するpg_dumpおよびpg_dumpallコマンド、データベースクラスタ全体を物理的にコピーするコールドバックアップ(ディレクトリコピー)、バックアップ取得後のデータ更新の復旧も可能にするPITRなど複数のバックアップ手段が利用可能です。
PITRでは、データベースクラスタ全体を tar などのOS付属のコマンドを利用して物理的にコピーすることでベースバックアップを作成しますが、このとき、コールドバックアップとは異なり、データベース自体は停止させません。その代わりに、バックアップの取得の前と後に、管理者ユーザでデータベースに接続し、それぞれ
SELECT pg_start_backup(‘some label’);
SELECT pg_stop_backup();
というコマンドを実行することで、ファイルの整合性が取れるようになっています。
従って、正解は E です。
なお、PostgreSQL 9.0からサポートされたストリーミングレプリケーションはPITRと同じ原理で動作しているので、PITRと同じ手順でベースバックアップを取得します。
また、PostgreSQL 9.1以降では pg_basebackup というコマンドが追加され、これを実行すると、pg_start_backup() → tarコマンドによる物理的バックアップ → pg_stop_backup() という一連の処理を自動的に実行することができるようになりました。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.