今回は、Silverの「運用管理 - 基本的な運用管理作業(情報スキーマとシステムカタログ)」からの出題です。
current_user() ではなく、session_user() を使わなければならない。
current_user() ではなく、user() を使わなければならない。
関数に引数を付けて、SELECT current_user(*); としなければならない。
カッコを付けずに、SELECT current_user; としなければならない。
コマンド自体には問題がないので、サーバに異常が発生していると考えられる。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2016年10月3日
psqlなどのセッションを実行中のユーザを調べるには、システム情報関数のcurrent_user、session_userあるいはuserを用います。通常、これらの結果は同じですが、SET ROLEを実行することで、current_userやuserの結果を変更できます。
これらは関数ではありますが、SQLの構文で特別な扱いを受けており、カッコを付けずに使用します(カッコを付けるとエラーになります)。
従って、正解はDです。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.