如何在PostgreSQL中获取用户定义的函数注释

时间:2018-12-23 07:31:22

标签: database postgresql

我正在尝试获取函数注释,并将我的基本信息保存在程序中。我创建了许多功能,所有功能的名称均以“ stat_”开头,我正在使用以下代码检索其名称。

SELECT routines.routine_name
FROM information_schema.routines
LEFT JOIN information_schema.parameters ON 
routines.specific_name=parameters.specific_name
WHERE routines.specific_schema='public' AND routines.routine_name LIKE 
'stat_%' ORDER BY routines.routine_name, parameters.ordinal_position;

现在我拥有所有函数名称,我需要获取他们的注释。 我找不到解决办法,如果您知道,请分享。

2 个答案:

答案 0 :(得分:1)

可以通过pg_description通过对象ID检索评论。

SELECT p.proname,
       p.proargtypes,
       d.description
       FROM pg_proc p
            LEFT JOIN pg_description d
                      ON d.objoid = p.oid
       WHERE p.proname LIKE 'stat$_%' ESCAPE '$';

答案 1 :(得分:1)

SELECT SPECIFIC_NAME AS SpName
FROM information_schema.routines
WHERE routines.specific_schema='public' AND routines.routine_name LIKE 'stat_%' 
ORDER BY routines.routine_name

然后您可以通过以下命令获取对象的来源:

EXEC sp_helptext 'ObjectName';