Temat: pgsql i schema
To nieco inaczej. Samej funkcji nie można ustawić uprawnień, można je ustawić użytkownikowi. Wystarczy żeby użytkownik mógł zmieniać dane w schemacie public oraz będzie miał możliwość uruchomienia tej funkcji, wtedy odpalając taką funkcję będzie mógł poprzez nią coś w schemacie public zmienić.
Dodatkowo możesz zdefiniować specjalnie funkcję jako 'security definer'
http://www.postgresql.org/docs/8.4/interactive/sql-cre... wtedy można uruchomić funkcję z uprawnieniami innego użytkownika, czyli: użytkownik A może korzystać tylko ze schematu public, ale dodatkowo może uruchomić funkcję ze schematu B, która zmodyfikuje dane w schemacie B, do którego użytkownik A nie ma w ogóle dostępu.