在postgresql中查找现有函数的脚本的命令是什么?[英] What is the command to find script of a existing function in postgresql?

本文是小编为大家收集整理的关于在postgresql中查找现有函数的脚本的命令是什么?的处理方法,想解了在postgresql中查找现有函数的脚本的命令是什么?的问题怎么解决?在postgresql中查找现有函数的脚本的命令是什么?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

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

请帮忙……

推荐答案

如果您使用 psql(命令行界面),您可以使用 \df+,正如 tobixen 已经说明的那样(手册中明确记录了这一点).

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

select pg_get_functiondef(oid)
from pg_proc
where proname = 'your_function';

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

select pg_get_functiondef('public.foo(int)'::regprocedure);
select pg_get_functiondef('public.foo(int,int)'::regprocedure);

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

本文地址:https://www.itbaoku.cn/post/1763875.html