pg_get_function_arguments() 是一个系统函数,用于将函数或过程的参数列表生成为文本字符串。
pg_get_function_arguments() 在 PostgreSQL 8.4 中被添加。
示例
pg_get_function_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_arguments('foo(int, text)'::regprocedure); pg_get_function_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_arguments('bar(text)'::regprocedure);
pg_get_function_arguments
--------------------------------------------------
message text DEFAULT 'no message supplied'::text
(1 row)
参考资料
- PostgreSQL 文档: 系统目录信息函数
