作者:Mr丶X8063_789 | 来源:互联网 | 2023-08-27 18:17
使用Redshift时,我想获取在架构中创建的所有过程的名称及其定义。
我知道您可以使用SHOW PROCEDURE命令来获取定义,但这需要具有过程名称。
在SVV_TABLE中,只有关于表和视图的信息,而没有过程的信息。
那么,如果有人知道该怎么做?
Redshift尚无系统视图,但是您可以使用tbe 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。