當創建這樣的函數與我得到下面的錯誤非超級用戶:錯誤:權限被拒絕了C語言
ERROR: permission denied for language c SQL state: 42501
創建的函數是:
CREATE OR REPLACE FUNCTION dblink_connect (text)
RETURNS text
AS '$libdir/dblink','dblink_connect'
LANGUAGE C STRICT;
但如果我想給我的非超級用戶授予C語言權限,我會收到以下錯誤: postgres=# grant usage on language c to caixa; ERROR: language "c" is not trusted
這意味着,非超級用戶不能使用語言C創建函數嗎?還是有什麼我做錯了?
也許你並不需要補助'USAGE'特權'caixa'角色明確,因爲它給予'PUBLIC'(所有角色)了。這裏的關鍵是來自'pg_language'系統目錄的'lanpltrusted'屬性。 –