ALTER_ROUTINE(7pg16)
β¨ NAME β¨
okay bestie, welcome to ALTER_ROUTINE(7) from the PostgreSQL 16.15 docs π
this is the page for ALTER_ROUTINE β aka changing the definition of a routine. periodt.
π SYNOPSIS π
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
action [ ... ] [ RESTRICT ]
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
RENAME TO new_name
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
SET SCHEMA new_schema
ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
[ NO ] DEPENDS ON EXTENSION extension_name
where action is one of:
IMMUTABLE | STABLE | VOLATILE
[ NOT ] LEAKPROOF
[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
PARALLEL { UNSAFE | RESTRICTED | SAFE }
COST execution_cost
ROWS result_rows
SET configuration_parameter { TO | = } { value | DEFAULT }
SET configuration_parameter FROM CURRENT
RESET configuration_parameter
RESET ALL
π DESCRIPTION π
ALTER ROUTINE changes the definition of a routine β and a routine here can be an aggregate function, a normal function, or a procedure. like, it's the main-character umbrella term for all three π«Ά
for the description of the parameters, more examples, and further details, see under ALTER AGGREGATE (ALTER_AGGREGATE(7)), ALTER FUNCTION (ALTER_FUNCTION(7)), and ALTER PROCEDURE (ALTER_PROCEDURE(7)). iykyk π«
πΈ 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. no cap, it's giving equal-opportunity rename energy π
π¦ 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. not me checking twice, but bestie, it's literally not a thing π
source/version: PostgreSQL 16.15 β’ date: 2026 β’ bye bestie, go alter those routines πππ¦
π¦ where this page comes from
- opensuse-leap 16.0: postgresql16 16.15-160000.1.1 Β· PostgreSQL
- opensuse-leap 16.0: postgresql16 16.15-160000.1.1 Β· PostgreSQL
- opensuse-leap 16.0: postgresql16 16.15-160000.1.1 Β· PostgreSQL
- opensuse-leap 16.0: postgresql16 16.15-160000.1.1 Β· PostgreSQL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms