NAME
ALTER_ROUTINE - change the definition of a routine
SYNOPSIS
ALTER ROUTINE \nname\n [ ( [ [ \nargmode\n ] [ \nargname\n ] \nargtype\n [, ...] ] ) ]
\n
\naction\n [ ... ] [ RESTRICT ]
ALTER ROUTINE \nname\n [ ( [ [ \nargmode\n ] [ \nargname\n ] \nargtype\n [, ...] ] ) ]
\n
RENAME TO \nnew_name\n
ALTER ROUTINE \nname\n [ ( [ [ \nargmode\n ] [ \nargname\n ] \nargtype\n [, ...] ] ) ]
\n
OWNER TO { \nnew_owner\n | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER ROUTINE \nname\n [ ( [ [ \nargmode\n ] [ \nargname\n ] \nargtype\n [, ...] ] ) ]
\n
SET SCHEMA \nnew_schema\n
ALTER ROUTINE \nname\n [ ( [ [ \nargmode\n ] [ \nargname\n ] \nargtype\n [, ...] ] ) ]
\n
[ NO ] DEPENDS ON EXTENSION \nextension_name\n
where \naction\n is one of:
\n
IMMUTABLE | STABLE | VOLATILE
\n
[ NOT ] LEAKPROOF
\n
[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
\n
PARALLEL { UNSAFE | RESTRICTED | SAFE }
\n
COST \nexecution_cost\n
\n
ROWS \nresult_rows\n
\n
SET \nconfiguration_parameter\n { TO | = } { \nvalue\n | DEFAULT }
\n
SET \nconfiguration_parameter\n FROM CURRENT
\n
RESET \nconfiguration_parameter\n
\n
RESET ALLDESCRIPTION
ALTER ROUTINE changes the definition of a routine, which can be an aggregate function, a normal function, or a procedure. See under ALTER AGGREGATE (ALTER_AGGREGATE(7)), ALTER FUNCTION (ALTER_FUNCTION(7)), and ALTER PROCEDURE (ALTER_PROCEDURE(7)) for the description of the parameters, more examples, and further details.
EXAMPLES
To rename the routine foo for type integer to foobar:
ALTER ROUTINE foo(integer) RENAME TO foobar;This command will work independent of whether foo is an aggregate, function, or procedure.
COMPATIBILITY
This statement is partially compatible with the ALTER ROUTINE statement in the SQL standard. See under ALTER FUNCTION (ALTER_FUNCTION(7)) and ALTER PROCEDURE (ALTER_PROCEDURE(7)) for more details. Allowing routine names to refer to aggregate functions is a PostgreSQL extension.
SEE ALSO
ALTER AGGREGATE (ALTER_AGGREGATE(7)), ALTER FUNCTION (ALTER_FUNCTION(7)), ALTER PROCEDURE (ALTER_PROCEDURE(7)), DROP ROUTINE (DROP_ROUTINE(7))
Note that there is no CREATE ROUTINE command.