今回は、Silverの「運用管理 - バックアップ方法」からの出題です。
データベースクラスタ内の1つのデータベースのバックアップを取得できるが、データベースクラスタ全体のバックアップは取得できない。
テーブルの定義だけ、テーブル内のデータだけ、テーブル定義とデータの両方、などバックアップの内容をオプションで指定できる。
バックアップファイルのフォーマットはテキスト形式とバイナリ形式があり、バイナリ形式にもTAR形式や圧縮アーカイブ形式など複数種類がある。
テキスト形式のバックアップファイルには、CREATE TABLE、GRANT、COPYといったSQL文が記述されている。
pg_dumpで作成したバックアップファイルからリストアするには、ファイル形式に関わらずpg_restoreコマンドを使う。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2013年4月22日
pg_dumpはPostgreSQLでデータベースのバックアップを取得するときに使うコマンドです。
データベースクラスタ内の1つのデータベースについて、その全体、あるいは一部のテーブルのバックアップを取得することができます。データベースクラスタ全体を1つのコマンドでバックアップするには、pg_dumpallというコマンドを使います。
デフォルトでは、テーブルの定義とデータの両方のバックアップを取得しますが、-sあるいは--schema-onlyオプションを指定すると、テーブルの定義だけのバックアップを取得できます。また、-aあるいは--data-onlyオプションを指定すると、データだけのバックアップを取得します。
バックアップファイルのフォーマットは-Fあるいは--formatオプションで指定します。デフォルトはテキスト形式ですが、pあるいはplainと明示的に指定することも可能です。バイナリ形式は、圧縮されたアーカイブ形式のc(custom)、ディレクトリ形式のd(directory)、TAR形式のt(tar)をオプションとして指定します。なお、ディレクトリ形式はPostgreSQL 9.1で追加されたオプションです。
テキスト形式のバックアップはSQLになっていて、テーブルを定義するCREATE TABLE、アクセス権限を付与するGRANT、テーブルにデータを入れるCOPYなどが記述されています。
バックアップからリストアするとき、テキスト形式のバックアップの場合はpsqlコマンドを使います。バイナリ形式のバックアップの場合は、custom/directory/tarいずれの形式でもpg_restoreコマンドを使います。
間違っているものを選ぶ問題なので、正解はEです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.