patternsqlMinor
What is included in ALL permissions for functions in PostgreSQL?
Viewed 0 times
postgresqlpermissionswhatallforincludedfunctions
Problem
I am trying to find references to what the difference between
but all I can find is what the docs say:
EXECUTE
Allows the use of the specified function and the use of any operators that are implemented on top of the function. This is the only type of privilege that is applicable to functions. (This syntax works for aggregate functions, as well.)
For example, I know that for schemas
This is the only type of privilege that is applicable to functions.
in the above snippet from the docs implies that for functions
is equivalent to:
EXECUTE and ALL is in:GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION | ALL FUNCTIONS IN SCHEMA }...but all I can find is what the docs say:
EXECUTE
Allows the use of the specified function and the use of any operators that are implemented on top of the function. This is the only type of privilege that is applicable to functions. (This syntax works for aggregate functions, as well.)
For example, I know that for schemas
ALL = CREATE + USAGE but I wanted to double check that in reference to functions:This is the only type of privilege that is applicable to functions.
in the above snippet from the docs implies that for functions
ALL = EXECUTE and that:GRANT ALL ON ALL FUNCTIONS...is equivalent to:
GRANT EXECUTE ON ALL FUNCTIONS...Solution
The only permission applicable to functions is EXECUTE, so when you use ALL postgresql will try to apply all the permissions available for functions, and for now this is just "EXECUTE".
So it means exactly the same.
EXECUTE
Allows the use of the specified function and the use of any operators
that are implemented on top of the function. This is the only type of
privilege that is applicable to functions.
https://www.postgresql.org/docs/10/static/sql-grant.html
But be carefully if more kind of permissions for functions be implemented in new postgresql versions this can do wrong (but i can't see other than execute).
So it means exactly the same.
EXECUTE
Allows the use of the specified function and the use of any operators
that are implemented on top of the function. This is the only type of
privilege that is applicable to functions.
https://www.postgresql.org/docs/10/static/sql-grant.html
But be carefully if more kind of permissions for functions be implemented in new postgresql versions this can do wrong (but i can't see other than execute).
Context
StackExchange Database Administrators Q#219160, answer score: 5
Revisions (0)
No revisions yet.