pg_get_functiondef()
是一个系统函数,用于生成创建指定函数或过程的 SQL 命令。
pg_get_functiondef()
添加于 PostgreSQL 8.4。
示例
pg_get_functiondef()
的基本用法示例
postgres=# CREATE FUNCTION foo() RETURNS INT LANGUAGE SQL AS 'SELECT 1'; CREATE FUNCTION postgres=# SELECT pg_get_functiondef('foo()'::regprocedure); pg_get_functiondef ----------------------------------------- CREATE OR REPLACE FUNCTION public.foo()+ RETURNS integer + LANGUAGE sql + AS $function$SELECT 1$function$ + (1 row)
pg_get_functiondef()
也用于过程
postgres=# CREATE PROCEDURE bar() LANGUAGE SQL AS 'SELECT pg_reload_conf()'; CREATE PROCEDURE postgres=# SELECT pg_get_functiondef('bar()'::regprocedure); pg_get_functiondef -------------------------------------------------- CREATE OR REPLACE PROCEDURE public.bar() + LANGUAGE sql + AS $procedure$SELECT pg_reload_conf()$procedure$+ (1 row)
参考
- PostgreSQL 文档: 系统目录信息函数