今回は、Goldの「性能監視 - oid2name」からの出題です。
A. データベースのOID一覧を取得するため以下のコマンドを実行した
$ oid2name
B. 別ホストsrv上の5432ポートで動作するPostgreSQLのデータベースのOID一覧を取得するため以下のコマンドを実行した
$ oid2name -h srv -p 5432
C. データベースtestdbに含まれるテーブルのファイルノード番号一覧を取得するため以下のコマンドを実行した
$ oid2name -d testdb
D. テーブル空間のOID一覧を取得するため以下のコマンドを実行した
$ oid2name -s
E. データベースtestdbに含まれるテーブル/インデックス/シーケンスのファイルノード一覧を取得するため以下のコマンドを実行した
$ oid2name -i -d testdb
※この例題は実際のOSS-DB技術者認定試験とは異なります。
性能を監視するにあたって、PostgreSQLが管理するテーブルやインデックスのファイルに関する情報を収集することがあります。
oid2nameは、一目では判別がしにくいPostgreSQLで扱うファイル名(*)を、ユーザが判別しやすくするためのツールです。
http://www.postgresql.jp/document/10/html/oid2name.html
(*) データベースクラスタで一意の数値(OID、ファイルノード番号)で管理しています
ユーザは、oid2nameにコマンドライン引数を指定することで、取得する情報を選択することができます。
コマンドライン引数を与えずに実行した場合、対象のデータベースクラスタ内に存在するすべてのデータベースのOIDを取得します。(選択肢Aに該当)
コマンドライン引数に"-d <データベース名>"を指定した場合、対象のデータベースに含まれるテーブルのファイルノード番号を取得します。(選択肢Cに該当)
また、"-i"オプションも追加することで(例:"-i -d <データベース名>")、対象のデータベースに含まれるインデックス、シーケンスのファイルノード番号も取得します。(選択肢Eに該当)
コマンドライン引数に"-s"を指定した場合、対象のデータベースクラスタに作成されているテーブル空間のOIDを取得します。(選択肢Dに該当)
選択肢Bのように、異なるホスト、ポートで起動するPostgreSQLの情報取得には、コマンドライン引数に"-H <ホスト情報> -p <ポート番号>"を指定します。
psql等では、"-h"を用いますが、oid2nameでは"-H"でホスト情報を指定することに注意が必要です。
正解はBです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.