psql コンソールを使用して関数へのアクセス許可を確認する方法を教えてください。
9871 次
2 に答える
6
より単純なクエリの場合は、次を使用します。
SELECT proacl FROM pg_proc WHERE proname='FUNCTION-NAME';
結果は次のようになります。
proacl
----------------------------------------------------
{=X/postgres,postgres=X/postgres,test1=X/postgres}
(1 row)
これは、test1
ユーザーがこの機能にもアクセスできることを示しています。
詳細については、psql
のメーリング リスト: psql missing feature: show permissions for functionsのディスカッションを参照してください。
于 2015-08-19T10:43:05.240 に答える
1
システム テーブルをクエリできます。
SELECT proname, rolname
FROM pg_proc pr,
pg_type tp,
pg_authid id
WHERE proowner = id.oid
AND tp.oid = pr.prorettype
AND pr.proisagg = FALSE
AND tp.typname <> 'trigger'
AND pr.pronamespace IN (
SELECT oid
FROM pg_namespace
WHERE nspname NOT LIKE 'pg_%'
AND nspname != 'information_schema'
);
于 2010-06-11T12:46:43.690 に答える