ALTER ROUTINE
ALTER ROUTINE
ALTER ROUTINE - change the definition of a routine
Synopsis
ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ]action[ ... ] [ RESTRICT ] ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] RENAME TOnew_nameALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] OWNER TO {new_owner| CURRENT_USER | SESSION_USER } ALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] SET SCHEMAnew_schemaALTER ROUTINEname[ ( [ [argmode] [argname]argtype[, ...] ] ) ] [ NO ] DEPENDS ON EXTENSIONextension_namewhereactionis one of: IMMUTABLE | STABLE | VOLATILE [ NOT ] LEAKPROOF [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER PARALLEL { UNSAFE | RESTRICTED | SAFE } COSTexecution_costROWSresult_rowsSETconfiguration_parameter{ TO | = } {value| DEFAULT } SETconfiguration_parameterFROM CURRENT RESETconfiguration_parameterRESET ALL
Description
   
    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 FUNCTION
    
   
   ,
   and
   
    
     ALTER PROCEDURE
    
   
   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
    
   
   and
   
    
     ALTER PROCEDURE
    
   
   for more details.  Allowing
   routine names to refer to aggregate functions is
   a
   
    PostgreSQL
   
   extension.
  
See Also
ALTER AGGREGATE , ALTER FUNCTION , ALTER PROCEDURE , DROP ROUTINE
   Note that there is no
   
    CREATE ROUTINE
   
   command.