pg_get_functiondef()

一个生成用于重新创建函数或过程的SQL的函数

pg_get_functiondef() 是一个系统函数,用于生成创建指定函数或过程的SQL命令。

pg_get_functiondef()PostgreSQL 8.4 中添加。

用法

pg_get_functiondef ( oid ) → text 

变更历史

示例

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)

分类

函数和过程系统目录系统函数

参见

pg_get_function_arguments()pg_get_function_identity_arguments()pg_get_function_result()

反馈

提交任何关于"pg_get_functiondef()"的评论、建议或更正 此处