PREPARATION
受験対策

Silverの例題解説
「S2.2 標準付属ツールの使い方(createuser/dropuser)」

「S2 運用管理 - S2.2 標準付属ツールの使い方(createuser/dropuser)」からの出題です。

例題

2.134

createuserコマンドの説明として最も適切なものを3つ選びなさい。

  1. 実行するにはデータベースのスーパーユーザー権限が必要である。
  2. 他のホストで稼働中のデータベースにユーザを作成することもできる。
  3. オプションで例えば “-P hoge” と指定すれば、新しいユーザのパスワードは hoge になる。

  4. psql でデータベースに接続して、CREATE USERコマンドを使えば、createuser コマンドと同じことが実現できる。

  5. createuser コマンドで作成したユーザを削除するには dropuser コマンドを使っても良いし、psql などでデータベースに接続してDROP USERコマンドを実行しても良い。

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2023年4月12日

解答と解説

多くのデータベースでは、データベースに接続して CREATE USERというSQLを実行することでユーザを作成できますが、PostgreSQLにはOSレベルから同じことを実行できるcreateuserというコマンドが用意されています。

CREATE USERを実行するには、CREATEROLEという権限が必要です。もちろん、スーパーユーザー権限があればユーザ作成ができますし、スーパーユーザー権限のあるユーザを作るにはスーパーユーザー権限が必要ですが、通常のユーザ作成であれば、CREATEROLE権限があれば十分です。

createuserコマンドは、-h オプションと -p オプションで接続先のホストとポート番号を指定することで、他のホスト(リモート)で稼働しているデータベースに接続してユーザを作成することができます。オプションの代わりに、環境変数のPGHOST、PGPORTで指定することもできます。

-Pオプション(こちらのPは大文字です)を指定すると、新しいユーザのパスワードを指定することができますが、パスワードの文字列はコマンドラインで指定するのではなく、コマンド実行時に表示されるプロンプトに対して対話的に入力します。

createuserコマンドには他にも様々なオプションがありますが、それらはいずれも、データベース接続用のオプション(接続先や使用するユーザを指定するもの)か、接続した後でCREATE USERを実行するときのオプションのどちらかなので、psqlなどでデータベースに接続し、CREATE USERを実行しても、まったく同じことができます。

ユーザ削除のSQLはDROP USERですが、これについてもOSレベルから実行できるdropuserコマンドが用意されています。ユーザがcreateuserで作成されたか、CREATE USERで作成されたかは区別されませんので、dropuserコマンド、SQLのDROP USERのいずれでもユーザを削除できます。

従って正解はB、D、Eです。

なお、PostgreSQLではユーザとロールが同じものとして実装されており、CREATE USERを実行すると、内部的にはCREATE ROLEが実行され、createuserもCREATE ROLEのラッパーとなっています。

例題解説についてのご質問やご意見は以下からご連絡ください。

※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。

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

OSS-DBの受験対策について

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

サンプル問題/例題解説

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

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

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

無料技術解説セミナー

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

OSS-DB道場

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