今回は、Silverの「S2 運用管理 - S2.5 基本的な運用管理作業(情報スキーマとシステムカタログ)」からの出題です。
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です。
例題解説についてのご質問やご意見は以下からご連絡ください。
※本例題および解説は、例題作成者から提供されたものです。実際の試験問題とは異なります。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.