PREPARATION
受験対策

Silverの例題解説 - S2 運用管理(Ver.3.0)

このページではメルマガで紹介した例題のアーカイブを試験のレベルごとにまとめています。
是非、OSS-DBの学習にお役立てください。

修正等により、例題番号が連番ではない場合がございます。あらかじめご了承ください。

S2.1 インストール方法

2.20

テンプレートデータベースに関する記述から、誤っているものを1つ選びなさい。

  1. initdb コマンドを実行した直後のデータベースクラスタには、 template0, template1 という2つのテンプレートデータベースがある。
  2. createdb コマンドを実行すると、デフォルトでは template1 のコピーが作られる。
  3. テンプレートデータベースを新たにデータベースクラスタに追加すると、その名前は自動的に template2, template3 というように template と数字の組み合わせになる。
  4. initdb コマンドを実行した直後の postgres データベースの内容は、テンプレートデータベース template1 と同じである。
  5. テンプレートデータベース template0 は更新してはならない。

S2.3 設定ファイル(エラー報告とログ取得)

2.19

postgresql.conf で設定するパラメータについて、正しい説明を2つ選びなさい。

  1. log_destination には、ログ出力先となるファイル名を指定する。
  2. logging_collector を on にすることで、標準エラー出力に送られたログメッセージをログファイルにリダイレクトできる。
  3. log_connections を on にすることで、クライアントからサーバへの接続試行がログに出力される。
  4. log_statement を on にすることで、SQL 文をログに記録できる。
  5. log_line_prefix を on にすることで、ログ情報の出力時刻、ユーザ名、プロセスIDなど様々な付加情報がログファイルに出力される。

S2.5 基本的な運用管理作業

2.18

管理者ユーザで以下の一連の SQL 文を実行した。
その結果の説明として適切なものをすべて選択せよ。

CREATE USER foo;
CREATE USER bar;
GRANT SELECT ON table1 TO foo;
ALTER TABLE table2 OWNER TO foo;
GRANT foo TO bar;

  1. ユーザ foo はテーブル table1 から SELECT することができる
  2. ユーザ foo はテーブル table1 を UPDATE することができる
  3. 最後の GRANT 文は構文エラーとなる
  4. ユーザ bar はテーブル table1 から SELECT することができる
  5. ユーザ bar はテーブル table2 から SELECT することができる

S2.5 基本的な運用管理作業(システムカタログ)

2.17

以下の SELECT 文についての説明として、誤っているものを1つ選択せよ。
SELECT * FROM pg_tables WHERE tablename = 'emp';

  1. emp というテーブルの所有者など、オブジェクトに関する情報を表示する
  2. pg_tables には管理者ユーザしかアクセスできないので、一般ユーザは利用できない
  3. pg_tables は PostgreSQL の独自拡張機能なので、他の RDBMS では利用できない
  4. emp というビューがあっても、それに関する情報は表示しない
  5. pg_tables の実体は、データベース内に作られたビューである

S2.5 基本的な運用管理作業(情報スキーマ)

2.16

情報スキーマに関する以下の SELECT 文についての説明として、最も適切なものを2つ選択せよ。
SELECT * FROM information_schema.tables WHERE table_name = 'emp';

  1. emp というテーブルが所属するスキーマ名など、オブジェクトに関する情報を表示する
  2. information_schema.tables には管理者ユーザしかアクセスできないので、一般ユーザは利用できない
  3. information_schema.tables は PostgreSQL の独自拡張機能なので、他の RDBMS では利用できない
  4. emp というビューがあっても、それに関する情報は表示しない
  5. information_schema.tables の実体は、データベース内に作られたビューである

S2.2 標準付属ツールの使い方

2.15

データベースクラスタ内のデータベースの一覧を調べたい。
適切な方法をすべて選びなさい。
なお、$ は OS のコマンドプロンプト、=> は psql のプロンプトである。

  1. $ psql --list
  2. $ pg_lsdb
  3. => SELECT datname FROM pg_database;
  4. => SELECT database_name FROM information_schema.databases;
  5. => \list

S2.3 設定ファイル

2.14

PostgreSQLサーバはIPアドレス 192.168.1.10 のサーバで動作しており、 pg_hba.conf の内容が以下である。

local all all ident
host all all 127.0.0.1/32 ident
host foo bar 192.168.1.0/24 md5
host all bar 192.168.1.0/24 reject
host foo all 192.168.1.0/24 trust

IPアドレスが 192.168.1.11 のクライアントからこのデータベースに接続するときの記述について、選択肢の中から正しいものをすべて選びなさい。

  1. ユーザ foo がデータベース bar にアクセスするときはパスワードを入力する必要がある
  2. ユーザ bar がデータベース foo にアクセスするときはパスワードを入力する必要がある
  3. ユーザ foo はデータベース foo にはアクセスできない
  4. ユーザ bar はデータベース bar にはアクセスできない
  5. ユーザ hoge はデータベース foo にパスワードなしでアクセスできる

S2.5 基本的な運用管理作業

2.13

ユーザ foo にデータベース新規作成の権限を与えるために実行する SQL として正しいものを選びなさい。

  1. GRANT foo CREATEDB;
  2. ALTER foo GRANT CREATEDB;
  3. ALTER foo CREATEDB;
  4. ALTER USER foo GRANT CREATEDB;
  5. ALTER USER foo CREATEDB;

S2.5 基本的な運用管理作業

2.12

バキューム(VACUUM)機能に関する説明について、正しいものを2つ選びなさい。

  1. バキュームを実行するには、コマンドラインから vacuumdb コマンドを実行する
  2. 自動バキュームを実行するには、コマンドラインから autovacuumdb コマンドを実行する
  3. バキュームにより削除領域が回収されると、通常はデータベースファイルのサイズが小さくなる
  4. psql でデータベースに接続して VACUUM 文を実行する際、テーブル単位あるいはデータベース単位でバキュームを実行することができる
  5. 自動バキュームでは、指定した時間おきに、すべてのテーブルに対してバキュームを実行する

S2.2 標準付属ツールの使い方(pg_ctl)

2.11

データベースに接続中のユーザがいるが、強制的にデータベースを停止したい。
これを実現できる方法を2つ選びなさい。
なお、$ は OS のコマンドプロンプトである。

  1. $ pg_ctl stop -m normal
  2. $ pg_ctl stop -m abort
  3. $ pg_ctl stop -m immediate
  4. $ pg_ctl stop -m fast
  5. $ pg_ctl stop -m smart

S2.3 設定ファイル

2.10

データベースの管理者ユーザ postgres のパスワードを忘れてしまったため、postgres ユーザでデータベースに接続できなくなった。
postgres ユーザのパスワードを再設定したいがどうしたら良いか。

  1. そのような手段はないので、データベースを新規に作成するしかない。
  2. データベースの実行ファイルを再インストールすれば、パスワードはデフォルト値に戻る。
  3. OS の管理者ユーザ(root)であれば、パスワードなしに postgres として接続できるので、接続後にパスワードを再設定すれば良い。
  4. postgresql.conf の先頭に
    no_password = 1
    という設定を追加すれば、パスワードなしに postgres として接続できるので、接続後にパスワードを再設定すれば良い。
  5. pg_hba.conf の先頭に
    local all postgres ident
    という設定を追加すれば、パスワードなしに postgres として接続できるので、接続後にパスワードを再設定すれば良い。

S2.2 標準付属ツールの使い方

2.09

createdb コマンドについて適切なものを1つ選びなさい。

  1. PostgreSQL に接続できるユーザであれば、誰でも実行できる。
  2. デフォルトでは template0 のコピーが新しいデータベースとして作成される。
  3. データベースサーバープロセスが起動していなくても実行できる。
  4. psql などでデータベースに接続し、CREATE DATABASE 文を実行することで同じ結果を得ることができる。
  5. 作成されるデータベースの所有者は、デフォルトではデータベースクラスタの管理者である。

S2.4 バックアップ方法

2.08

PostgreSQL で CSV 形式のファイルを入出力するための方法について、適切な記述を2つ選びなさい。

  1. SELECT 文の INTO 句で出力先ファイルを指定することにより、テーブルの内容を CSV 形式で出力することができる。
  2. psql でデータベースに接続し、¥copy メタコマンドを使うことにより、テーブルの内容を CSV 形式で出力することができる。
  3. LOAD DATA 文により、CSV ファイルを読み込んで、PostgreSQL のテーブルに データをアップロードすることができる。
  4. COPY 文により、CSV ファイルを読み込んで、PostgreSQL のテーブルにデータをアップロードすることができる。
  5. pg_loader という、CSV ファイルを読み込むための専用のコマンドがある。

S2.1 インストール方法

2.07

initdb コマンドに関する説明として適切なものを2つ選びなさい。

  1. initdb の実行前に環境変数 PGDATA を設定しておく必要がある。
  2. initdb を実行したユーザが、データベース管理者となる。
  3. initdb は OS の管理者権限を持つユーザで実行する必要がある。
  4. initdb を実行すると、2つのテンプレートデータベースと、postgres という名前のデータベースが作成される
  5. initdb を実行するとデータベースサーバプロセスが自動的に起動される。

S2.4 バックアップ方法

2.06

PostgreSQL のバックアップ方法について適切なものを2つ選びなさい。

  1. pg_dumpall コマンドで作成したバックアップファイルは、pg_restore コマンドでリストアできる。
  2. pg_dump コマンドで作成したバックアップをリストアするときに使うコマンドは、バックアップ作成時のオプションによって異なる。
  3. pg_dumpall コマンドでバックアップを作成する前に、データベースサーバを停止する必要がある。
  4. pg_dump コマンドでバックアップを作成する際は、データベースサーバを停止する必要はない。
  5. ポイントインタイムリカバリ(PITR)で使用するバックアップを作成するには、データベースサーバを停止する必要がある。

S2.2 標準付属ツールの使い方

2.05

psql でデータベースに接続している。テーブル foo の列名および列属性の一覧を表示するための適切な方法はどれか。

  1. desc foo;
  2. \d foo
  3. \! foo
  4. show columns from foo;
  5. select * from pg_tables where tablename = 'foo';

S2.4 バックアップ方法

2.04

データベースのバックアップに関する説明で、適切でないものを2つ選びなさい。

  1. データベース稼働中に取得するバックアップをホットバックアップ、データベース停止中に取得するバックアップをコールドバックアップという。
  2. 取得したコールドバックアップを、同じ構成の別のマシンにコピーして、データベースを稼動させることができる。
  3. ポイントインタイムリカバリ(PITR)の機能を使うときは、ホットバックアップを取得する。
  4. pg_dump コマンドでバックアップを取得するときは、データベースを停止させる必要がある。
  5. コールドバックアップを取得するには、pg_backup という専用のコマンドを使用する必要がある。

S2.2 標準付属ツールの使い方

2.03

新しいデータベースクラスタを作成するコマンドを1つ選びなさい。

  1. createcluster
  2. initdb
  3. pg_ctl newcluster
  4. clusterdb
  5. createdb

S2.4 バックアップ方法

2.02

データベースlpijapanのバックアップをテキスト形式でbackup.sqlに取得したい。適切なコマンドを2つ選びなさい。ただし、postgresはデータベースの管理者ユーザである。

  1. pg_dump -U postgres lpijapan > backup.sql
  2. pg_dump -U postgres -f backup.sql lpijapan
  3. pg_dump -U postgres -Ft lpijapan > backup.sql
  4. psql -U postgres lpijapan > backup.sql
  5. psql -U postgres --dump lpijapan > backup.sql

S2.5 基本的な運用管理作業

2.01

SQL文の実行を高速化するための統計情報を取得するSQLコマンドとして最も適切なものを1つ選びなさい。

  1. CREATE INDEX
  2. VACUUM
  3. ANALYZE
  4. GET STATISTICS
  5. OPTIMIZE

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策

受験の学習をサポートする情報や対策に役立つ情報をご紹介

例題解説

例題のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関ご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

OSS-DBやPostgreSQLの知識、技術を得るために役立つ情報の紹介やコラムを公開しています。

応募者全員プレゼント!
オープンソース データベース標準教科書 -PostgreSQL-