ALTER FUNCTION 是用于修改现有函数的 DDL 命令。
ALTER FUNCTION 添加于 PostgreSQL 7.4。
用法
ALTER FUNCTION 用于更新函数的元数据。
要更改函数本身定义,请使用 CREATE OR REPLACE FUNCTION。
变更历史
- PostgreSQL 14
- 添加了
ALTER FUNCTION ... OWNER TO CURRENT_ROLE语法(提交 45b98057)
- 添加了
- PostgreSQL 12
- 添加了
SUPPORT选项(提交 1fb57af9)
- 添加了
- PostgreSQL 9.6
- PostgreSQL 8.3
- PostgreSQL 8.1
- PostgreSQL 8.0
- 添加了
ALTER FUNCTION ... OWNER TO ...语法(提交 0adfa2c3)
- 添加了
- PostgreSQL 7.4
- 已添加 (commit b256f242)
示例
使用 ALTER FUNCTION 重命名函数
postgres=# ALTER FUNCTION foo() RENAME TO bar; ALTER FUNCTION
如果函数不带任何参数且函数名称是唯一的,则可以省略括号。
postgres=# ALTER FUNCTION bar RENAME TO foo; ALTER FUNCTION
但是,如果存在多个同名(但参数不同)的函数,则必须提供函数的调用签名。
postgres=# ALTER FUNCTION bar RENAME TO foo; ERROR: function name "bar" is not unique postgres=# ALTER FUNCTION bar(int) RENAME TO foo; ALTER FUNCTION
如果同一模式下已存在具有新名称的相同签名的另一个函数,则无法重命名该函数。
postgres=# ALTER FUNCTION bar(int) RENAME TO foo; ERROR: function foo(integer) already exists in schema "public"
参考资料
- PostgreSQL 文档: ALTER FUNCTION
反馈
在此处 提交对“ALTER FUNCTION”的任何评论、建议或更正。