Tworząc funkcję jak ten z non-super user Otrzymuję błąd poniżej:BŁĄD: brak dostępu do języka C
ERROR: permission denied for language c SQL state: 42501
Funkcja tworzony jest:
CREATE OR REPLACE FUNCTION dblink_connect (text)
RETURNS text
AS '$libdir/dblink','dblink_connect'
LANGUAGE C STRICT;
Ale jeśli chciałbym wyrazić zgodę na język C mojego nie-super użytkownika, otrzymuję błąd poniżej: postgres=# grant usage on language c to caixa; ERROR: language "c" is not trusted
Oznacza to, że nie-super użytkownik nie może utworzyć funkcji z językiem C? czy coś jeszcze robię źle?
Prawdopodobnie nie trzeba grant 'USAGE' przywilej' roli caixa' wyraźnie, ponieważ jest przyznawana 'PUBLIC' (wszystkie role) już. Kluczem jest tutaj własność 'lanpltrusted' z katalogu systemowego' pg_language'. –