在postgresql中查找现有函数脚本的命令是什么?

Ran*_*ahi 5 postgresql

由于我们使用sp_helptext [procedure name]来获取Sqlserver中的SP脚本,我需要可以用来从postgresql检索函数脚本的命令.

请帮忙....

a_h*_*ame 7

如果您正在使用psql(命令行界面),您可以使用\df+tobixen已经声明的(并且在手册中有明确说明).

如果需要在SQL查询中执行此操作,请查看系统信息函数.你在找pg_get_functiondef()

select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';
Run Code Online (Sandbox Code Playgroud)

如果要处理具有不同参数数量的重载函数,则需要在名称中包含参数签名:

select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);
Run Code Online (Sandbox Code Playgroud)

将检索函数的重载版本foo(一个版本带有一个int参数,另一个版本带有两个int参数).


tob*_*xen 4

在 psql 命令行中它是\df+ foo,不是吗?

除此之外,select prosrc from pg_proc where proname='foo';