プロシージャ定義)」からの出題です。例題3.141以下のコマンドでテーブルと関数を定義した。;次のSELECT文を実行するために必要な権限として最も適切なものを選びなさい。testfunc(1);特に制限はなく、どのユーザでも実行できる。関数testfuncの所有者のみが実行できる。関数testfuncのEXECUTE権限がGRANTされていれば実行できる。テーブルtestaのSELECT権限がGRANTされていれば実行できる。関数testfuncのEXECUTE権限とテーブルtestaのSELECT権限の両方がGRANTされている必要がある。※この例題は実際のOSS-DB技術者認定試験とは異なります。解答と解説PostgreSQLではSQL、PL/pgSQLをはじめ、さまざまな言語で関数を定義することができます。例題はSQLで関数を定義しています。関数を実行するには、その関数の実行権限、つまりEXECUTEがGRANTされている必要があります。関数は、その所有者とは関係なく、実行者の権限で実行されます。そのため、関数がテーブルなどのオブジェクトにアクセスする場合には、そのオブジェクトに関する適切なアクセス権限が必要になります。例題の関数はテーブルtestaに対するSELECTだけを実行しているので、testaのSELECTもGRANTされている必要があります。今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。ご質問・ご意見はこちら※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。アーカイブを試験ごとにまとめています。ご紹介OSS-DB認定教材や教育機関について詳しくご説明いたします。受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。