PREPARATION
受験対策

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

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

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

S2.5 基本的な運用管理作業(テーブル単位の権限)

2.40

テーブルのアクセス権について最も適切な説明を1つ選びなさい。

  1. CREATE TABLEで作成された直後のテーブルにアクセス権があるのは、テーブルの所有者、つまりCREATE TABLEを実行したユーザだけである。
  2. テーブルのアクセス権をユーザに付与するにはALTER TABLE文を使う。
  3. テーブルのアクセス権をユーザに付与できるのはテーブルの所有者だけである。
  4. テーブルの所有者は、そのテーブルに基づくビューを作成する権限を各ユーザに付与、あるいは剥奪することができる。
  5. テーブルの所有者であるにも関わらず、そのテーブルへのアクセス権がなく、SELECTできない、ということもあり得る。

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

2.39

VACUUMコマンドについて、最も適切な記述を1つ選びなさい。

  1. 対象のテーブルのテーブルロックを取得し、テーブル内の不要領域を回収する。
  2. VACUUM AUTO ON を実行することで、自動バキュームが実行できるようになる。
  3. VACUUM DETAILS を実行することで、VACUUMの実行状況の詳細が出力される。
  4. VACUUM ANALYZE を実行すると、テーブルの統計情報が取得される。
  5. VACUUM FULL を実行すると、データベース内の全テーブルがVACUUMの対象となる。

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

2.38

PostgreSQLにおけるデータベースユーザの作成・削除・変更について、正しい説明を2つ選びなさい。

  1. CREATE USERでユーザを作成すると、そのユーザ名に対応したスキーマが自動的に作成される。
  2. CREATE USERを実行するには、CREATEROLE権限、あるいはそれと同等以上の適切な権限が必要である。
  3. DROP USERでユーザを削除すると、そのユーザが所有していたオブジェクトも同時に削除される。
  4. DROP USERを実行するには、DROPROLE権限、あるいはそれと同等以上の適切な権限が必要である。
  5. ALTER USERでユーザの名前を変更することができる。

S2.4 バックアップ方法

2.37

pg_basebackupコマンドによるバックアップについて述べたものから、適切なものを2つ選びなさい。

  1. リストアするにはpg_restoreコマンドを利用する。
  2. バックアップ作成前にデータベースを停止する。
  3. ポイントインタイムリカバリ(PITR)用のベースバックアップとして利用できる。
  4. レプリケーション用のベースバックアップとして利用できる。
  5. データベース単位でのバックアップを取得できる。

S2.3 設定ファイル

2.36

pg_hba.conf ファイルに関する説明の中から、誤っているものを2つ選びなさい。

  1. データベースクラスタ内のデータベースごとに、アクセスを許可あるいは拒否するユーザを指定できる。
  2. データベース内のテーブルごとに、アクセスを許可あるいは拒否するユーザを指定できる。
  3. データベースにアクセスできるホストをホスト名またはIPアドレスで指定できる。
  4. 接続を許可する設定と拒否する設定の両方がある場合は、接続が許可される。
  5. 接続を許可する設定と拒否する設定のどちらもない場合は、接続が拒否される。

S2.1 インストール方法

2.34

PostgreSQLのインストールについて述べたものから、最も適切なものを2つ選びなさい。

  1. PostgreSQLをインストールするためには、その前にCコンパイラをインストールする必要がある。
  2. PostgreSQLのインストールパッケージは、プラットフォームにより様々な種類があるが、いずれもPostgreSQLの開発コミュニティが作成している。
  3. PostgreSQLのパッケージは同じプラットフォーム(例えばLinux)でも複数の種類があり、パッケージによってインストール方法が大きく異なる。
  4. PostgreSQLをインストールするにはOSの管理者権限が必要なので、PostgreSQLの管理者ユーザはOSの管理者ユーザでなければならない。
  5. 1台のマシンに複数のバージョンのPostgreSQL(例えばバージョン9.1.4とバージョン9.2.3)をインストールして、両方を同時に稼働させることが可能である。

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

2.33

データベースに関する権限の付与をするGRANT文の使い方として、誤っているものを1つ選びなさい。
なお、以下の選択肢で、user1、user2は既存のユーザ名、table1は既存のテーブル名、column1はtable1内の列名、schema1は既存のスキーマ名である。

 

  1. GRANT SELECT ON table1 TO user1;
  2. GRANT UPDATE (column1) ON table1 TO user1;
  3. GRANT CREATE ON SCHEMA schema1 TO user1;
  4. GRANT user2 TO user1;
  5. GRANT CREATEROLE TO user1;

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

2.32

ANALYZEについて適切な記述を2つ選びなさい。

  1. データベース全体を ANALYZE するには、OSのコマンドラインから pg_analyze コマンドを実行する。
  2. テーブル foo について ANALYZE するには、データベースに接続して以下のコマンドを実行する。
    ALTER TABLE foo ANALYZE;
  3. OSのコマンドラインから vacuumdb コマンドを実行することでデータベース全体をANALYZEすることができる。;
  4. ANALYZEはテーブル内にどのようなデータが入っているかを調べる。
  5. ANALYZEはテーブルが何回SELECTされ、何回UPDATEされたか、といったアクセス頻度の情報を調べる。

S2.4 バックアップ方法

2.31

PostgreSQLのバックアップ方法に関する以下の記述から、適切なものを2つ選びなさい。

  1. pg_dumpall コマンドは、その内部から pg_dump コマンドを実行する。
  2. pg_basebackup コマンドは、その内部から pg_dump コマンドを実行する。
  3. pg_dump コマンドで作成したバックアップはポイントインタイムリカバリ(PITR)のためのベースバックアップとして利用できる。
  4. ストリーミングレプリケーションを設定するときは、まず pg_dumpall コマンドでデータベースクラスタ全体のバックアップを取得する。
  5. pg_dump コマンドで作成したバックアップは、オプションによっては出力ファイルが複数になる。

S2.4 バックアップ方法

2.30

pg_dumpコマンドによるデータベースのバックアップについて、誤っているものを1つ選びなさい。

  1. データベースクラスタ内の1つのデータベースのバックアップを取得できるが、データベースクラスタ全体のバックアップは取得できない。
  2. テーブルの定義だけ、テーブル内のデータだけ、テーブル定義とデータの両方、などバックアップの内容をオプションで指定できる。
  3. バックアップファイルのフォーマットはテキスト形式とバイナリ形式があり、バイナリ形式にもTAR形式や圧縮アーカイブ形式など複数種類がある。
  4. テキスト形式のバックアップファイルには、CREATE TABLE、GRANT、COPYといったSQL文が記述されている。
  5. pg_dumpで作成したバックアップファイルからリストアするには、ファイル形式に関わらずpg_restoreコマンドを使う。

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

2.29

バキューム(VACUUM)機能について正しい説明を1つ選びなさい。

  1. VACUUMではデータファイルのサイズが小さくならないので、ディスク容量を節約するためにもデータファイルが小さくなるVACUUM FULLを定期的に実行することが推奨されている。
  2. 自動バキュームとは、cronなどOSのジョブスケジューリング機能を使って定期的にVACUUMを自動実行することを指す。
  3. 自動バキュームとは、システムの負荷が小さい時に自動的にVACUUMを実行する機能のことである。
  4. 自動バキュームは便利な機能ではあるが、システム運用上、可能であればそれを使わずに、手動でVACUUMを実行することが推奨されている。
  5. バキュームを手動で実行するためには、OSのコマンドラインからvacuumdbコマンドを実行するか、あるいはデータベースに接続してVACUUMコマンドを実行する。

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

2.28

ユーザ foo が以下の操作を行った。

CREATE TABLE aaa (id INTEGER, val TEXT);
GRANT SELECT ON aaa TO public;
GRANT UPDATE,INSERT ON aaa TO user1;
REVOKE SELECT ON aaa FROM user2;

このとき、以下の記述から誤っているものを2つ選びなさい。
なお、user1, user2は既存の一般ユーザであり、ユーザ foo の作成するテーブルについてのデフォルトアクセス権限は、デフォルトのまま変更されていないものとする。

 

  1. ユーザ foo はテーブル aaa に対して DELETE 文を実行できる。
  2. ユーザ user1 はテーブル aaa に対して UPDATE 文を実行できる。
  3. ユーザ user1 はテーブル aaa に対して DELETE 文を実行できる。
  4. ユーザ user2 はテーブル aaa に対して SELECT 文を実行できる。
  5. ユーザ user2 はテーブル aaa に対して UPDATE 文を実行できる。

S2.3 設定ファイル

2.27

SETコマンドで実行する設定の変更について、正しい記述を2つ選びなさい。

  1. postgresql.conf で設定するすべてのパラメータについて、SETコマンドで値を変更できる。
  2. SETコマンドでパラメータの値を変更した時、それがすぐに有効になるものと、pg_ctl reload などの追加処理をしなければ有効にならないものとがある。
  3. SETコマンドでパラメータの値を変更しても、psql のセッションを終了すると、値はすべて元に戻る。
  4. SET LOCAL parameter=value; のようにLOCALオプションを指定した場合、その後でCOMMITを実行すると、パラメータの値は元に戻る。
  5. SETコマンドによるパラメータ値の変更はシステムに重大な影響があるため、データベースのスーパーユーザだけが実行できる。

S2.4 バックアップ方法

2.26

ポイントインタイムリカバリ(PITR)のベースバックアップの取得方法について正しいものを1つ選びなさい。

  1. pg_dump コマンドを実行する
  2. pg_dumpall コマンドを実行する
  3. psql でデータベースに接続し、COPY コマンドを実行する
  4. データベースを停止して、データベースクラスタ全体を tar コマンドなど OS 付属のコマンドを使ってコピーする
  5. データベースを停止せずに、データベースクラスタ全体を tar コマンドなど OS 付属のコマンドを使ってコピーする

S2.1 インストール方法

2.25

テンプレートデータベースについて、誤った記述を2つ選びなさい。

  1. template0 に CREATE TABLE などでオブジェクトを追加作成することはできない
  2. template1 に CREATE TABLE などでオブジェクトを追加作成することはできない
  3. template0 を DROP DATABASE で削除することはできない
  4. template1 を DROP DATABASE で削除することはできない
  5. データベース postgres をテンプレートデータベースとして利用して新しいデータベースを作成することができる

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

2.24

データベースの終了方法について適切なものを2つ選びなさい。

  1. コマンドラインから pg_ctl shutdown を実行することによりデータベースを終了できる
  2. コマンドラインから pg_ctl stop を実行することによりデータベースを終了できる
  3. psql でデータベースに接続し、\shutdown メタコマンドを実行することにより、データベースを終了できる
  4. 終了時にオプションでsmartを指定すると、データベースに接続中のクライアントは自動的に切断され、実行中のトランザクションはロールバックされる
  5. データベースの終了は、データベースの管理者ユーザ(多くの環境ではpostgres)のみが実行可能で、OSの管理者ユーザ(Linuxのroot)の権限では実行できない

S2.3 設定ファイル

2.23

PostgreSQLの設定の変更について、適切な記述を1つ選びなさい。

  1. クライアント側の文字セットをUTF8に変更するとき、SQL文として
        SET client_encoding=utf8;
    を実行しても、あるいは psql のメタコマンドを使って
        \set client_encoding=utf8
    を実行しても、効果はほとんど同じである。
  2. SET LOCAL ではそれを実行したクライアントの設定だけが変更されるが、 LOCAL キーワードを使わないSETでは、サーバに接続中のすべてのクライアントの設定が変更される。
  3. SET で変更した内容をリセットするには UNSET を使う。
  4. SET で変更した内容を確認するには SHOW を使う。
  5. SET で変更した内容を反映させるには、
        pg_ctl reload
    あるいは
        pg_ctl restart
    を実行する必要がある。

S2.3 設定ファイル

2.21

postgresql.conf ファイルの設定方法について、最も適切なものを2つ選びなさい。

  1. 論理値型のパラメータは true あるいは false と小文字で設定しなければならない
  2. メモリを設定するパラメータでは kB, MB, GB, TB の単位が指定できる
  3. 時間を設定するパラメータは、すべて秒単位で指定する
  4. 行頭が # の行はコメント行である
  5. パラメータの設定は
      param1 = val1;
    のようにセミコロンで終了し、セミコロンがなければ次行に継続する

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

OSS-DBの受験対策

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

例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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

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