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.- ]- schema
- Database 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 TO- new-owner
- Transfers function ownership to another user.
- RENAME TO- new-name
- Renames this function.
- SET SCHEMA- new-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;