ALTER FUNCTION (SQL)
Alters a user-defined SQL function.
Alters a user-defined SQL function.
Syntax
ALTER FUNCTION [[db-name.]schema.]function-name( [arg-list] ) {
OWNER TO new-owner
| RENAME TO new-name
| SET SCHEMA new-schema
}
Parameters
[db-name.]schemaDatabase and schema. The default schema is
public. If you specify a database, it must be the current database.function-name- The name of the SQL function to alter.
arg-list- A comma-delimited list of function argument names. If none, specify an empty list.
OWNER TOnew-owner- Transfers function ownership to another user.
RENAME TOnew-name- Renames this function.
SET SCHEMAnew-schema- Moves the function to another schema.
Privileges
Non-superuser: USAGE on the schema and one of the following:
-
Function owner
-
ALTER privilege on the function
For certain operations, non-superusers must also have the following schema privileges:
| For these operations... | Schema privileges required... |
|---|---|
| RENAME TO (rename function) | CREATE, USAGE |
| SET SCHEMA (move function to another schema) |
CREATE: destination schema USAGE: current schema |
Examples
Rename function SQL_one to SQL_two:
=> ALTER FUNCTION SQL_one (int, int) RENAME TO SQL_two;
Move function SQL_two to schema macros:
=> ALTER FUNCTION SQL_two (int, int) SET SCHEMA macros;
Reassign ownership of SQL_two:
=> ALTER FUNCTION SQL_two (int, int) OWNER TO user1;