今回は、Silverの「運用管理 - 標準付属ツールの使い方」からの出題です。
データベースの新規作成権限をオプションで指定しなかった場合の動作について、PostgreSQL9.2で動作が変更され、デフォルトで新規作成の権限が付与されないようになった。
データベースの管理者ユーザで実行しなければならない。
createuserコマンドを実行するマシン以外のサーバにあるデータベースにユーザを作成できる。
データベースのユーザだけでなく、OSのユーザも新規に作成できる。
psqlでデータベースに接続し、CREATE ROLEコマンドを使っても、同じことが実現可能である。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2015年11月16日
createuserはPostgreSQLのサーバに新規のデータベースユーザを作成するコマンドです。PostgreSQL専用のコマンドなので、OSのユーザを作成することはできません。
内部的にはデータベースに接続した上で、CREATE ROLEコマンドを発行しますので、createuserで実現できることは、psqlでデータベースに接続してCREATE USERまたはCREATE ROLEコマンドを実行することでも実現できます。
接続先のデータベースは、-hや-pなどのオプションで指定するので、リモートのデータベースに接続してユーザを作成することもできます。
新規ユーザにスーパーユーザ権限、ユーザ作成権限、データベース作成権限を付与するかどうか、実行時のオプションで指定します。指定しなかった場合、PostgreSQL9.1まではそれを対話的に尋ねるのがデフォルトでしたが、9.2から動作が変更され、デフォルトではこれらの権限が付与されないようになりました。
createuserコマンドを実行するには、ユーザ作成権限を持っている必要がありますが、必ずしもデータベース管理者ユーザである必要はありません。
従って、正解はBとDです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.