【发布时间】:2020-03-30 12:56:19
【问题描述】:
使用 Redshift 时,我想获取在模式中创建的所有过程的名称及其定义。
我知道您可以使用 SHOW PROCEDURE 命令来获取定义,但这需要具有过程名称。
在 SVV_TABLE 中只有关于表和视图的信息,但没有过程。
如果有人知道如何获得它?
【问题讨论】:
标签: python-3.x amazon-redshift
使用 Redshift 时,我想获取在模式中创建的所有过程的名称及其定义。
我知道您可以使用 SHOW PROCEDURE 命令来获取定义,但这需要具有过程名称。
在 SVV_TABLE 中只有关于表和视图的信息,但没有过程。
如果有人知道如何获得它?
【问题讨论】:
标签: python-3.x amazon-redshift
Redshift 还没有系统视图,但您可以使用 PG_PROC 表并将其与 pg_namespace 连接以过滤模式名称。
select proname, proargnames, prosrc
from PG_PROC
join pg_namespace on pg_namespace.oid = pg_proc.pronamespace
where nspname = 'your_schema_name' and procsecdef = true;
procsecdef = true 仅用于获取存储过程定义,否则您还将获取 python UDF。
【讨论】: