如何从 pg_proc 获取每一行 prosrc?

How can I get each line of prosrc from pg_proc?

我是 PostgreSQL 的新手,有一个问题。 我想在 pg_procprosrc 上编写整个代码,就像在 Oracle 的 user_source.

中一样
select prosrc
from pg_proc 
where proname= 'function_name'

prosrctext 类型,所以我希望每一行都有一个 for 循环。 所以,第一行可以这样

DECLARE v_sp_nm         varchar;

第二个是

v_exec_cd       VARCHAR(1);

这里可以使用for循环语句吗?

您的描述有点不清楚,但是您可以使用 regexp_split_to_table(prosrc, E'\n') 将字符串拆分为文本行。

循环生成的行应该很容易。

免责声明:我不知道 Greenplum 作为 PostgreSQL 的一个非常古老的分支是否具有此功能。