今回は、Silverの「S2 運用管理 - S2.4 バックアップ方法(各種バックアップコマンドの使い方)」からの出題です。
pg_dumpはデータベースクラスタ内の特定のデータベースのみのバックアップを取得するのに対し、pg_dumpallはデータベースクラスタ内の全データベースのバックアップを取得する。
pg_dumpではオプションにより出力フォーマットをテキスト形式あるいはバイナリ形式にする指定ができるが、pg_dumpallの出力はテキスト形式のみである。ファイルシステムのレイアウトを正確に理解すれば、テーブル単位でバックアップとリストアを実行できる。
データベースユーザの情報をバックアップできるのはpg_dumpallだけである。
どちらのコマンドも、データベースサーバプロセスが起動している状態でなければ実行できない。
どちらのコマンドも、実行するにはデータベースのスーパーユーザー権限が必要である。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2018年2月13日
pg_dumpはデータベースクラスタ内の特定のデータベースのバックアップを取得するコマンドです。デフォルトではテキスト(スクリプト)形式の出力ファイルが作られますが、オプションによりバイナリ形式の出力にすることもできます。
pg_dumpallはデータベースクラスタ全体のバックアップを取得するコマンドですが、そのためにデータベースクラスタ内の各データベースに対して、内部的にpg_dumpコマンドを実行します。出力ファイルはテキスト形式のみで、バイナリ形式のバックアップを作ることはできません。
PostgreSQLではユーザやロールは全データベース共通の情報であり、各データベース内ではなくグローバルオブジェクトとして管理されていますが、このデータはpg_dumpallでしか出力されません。
pg_dumpやpg_dumpallはバックアップを作成するため、内部的にSELECT文を実行します。このため、データベースのサーバプロセスが起動していなければ実行できません。この性質上、ユーザにアクセス権限のないデータはバックアップに出力できませんが、コマンドの実行にスーパーユーザー権限が必要なわけではなく、一般ユーザでも実行可能です。ただし、完全なバックアップの取得にはスーパーユーザーで実行する必要があることが多いでしょう。
間違っているものを選ぶ問題なので、正解はEです。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.