Как можно явным образом запретить возможность создания функции для не суперпользователя в postgres? Я просмотрел документацию, но не нашел ничего ценного.
Вы можете посмотреть Вот для документации. Вы могли бы использовать команду Revoke вместо предоставления и просто указать Create.
REVOKE { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE dbname [, ...]
TO { username | GROUP groupname | PUBLIC } [, ...]
РЕДАКТИРОВАТЬ:
Вот Это то место, где вы переходите к Revoke, у которого есть больше возможностей.
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]
FROM { username | GROUP groupname | PUBLIC } [, ...]
[ CASCADE | RESTRICT ]