pg_get_function_identity_arguments() 是一个系统函数,用于将函数或过程的参数列表生成为文本字符串。生成的字符串不包含任何默认值,适用于作为诸如 ALTER FUNCTION 等命令的函数签名。
pg_get_function_identity_arguments() 在 PostgreSQL 8.4 中添加。
用法
pg_get_function_identity_arguments (oid) →text
pg_get_function_identity_arguments() 与 pg_get_function_arguments() 类似,不同之处在于它不输出任何默认参数。
变更历史
- PostgreSQL 8.4
- 添加于 (commit 455dffbb)
示例
pg_get_function_identity_arguments() 的基本用法示例
postgres=# CREATE FUNCTION foo(id INT, message TEXT) RETURNS TEXT LANGUAGE SQL AS $$ SELECT message || ':' || id::TEXT $$; CREATE FUNCTION postgres=# SELECT pg_get_function_identity_arguments('foo(int, text)'::regprocedure); pg_get_function_identity_arguments ------------------------------------ id integer, message text (1 row)
任何默认参数都将被省略
postgres=# CREATE FUNCTION bar (message TEXT DEFAULT 'no message supplied')
RETURNS TEXT
LANGUAGE SQL
AS $$
SELECT 'The message is: ' || message
$$;
CREATE FUNCTION
postgres=# SELECT pg_get_function_identity_arguments('bar(text)'::regprocedure);
pg_get_function_identity_arguments
------------------------------------
message text
(1 row)
参考资料
- PostgreSQL 文档: 系统目录信息函数
