如何列出 AWS RedShift 中的所有存储过程

Posted

技术标签:

【中文标题】如何列出 AWS RedShift 中的所有存储过程【英文标题】:How to list all the stored procedure in AWS RedShift 【发布时间】:2020-06-08 08:22:45 【问题描述】:

我正在检查这个,但没有找到合适的。所以我准备了一个并在此处分享该查询。

【问题讨论】:

另见:How to get all the procedure name and definition in a given schema in Redshift? 【参考方案1】:
SELECT
    n.nspname,
    b.usename,
    p.proname,
    p.prosrc
FROM
    pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p ON
    pronamespace = n.oid
join pg_user b on
    b.usesysid = p.proowner
where
    nspname not in ('information_schema',
    'pg_catalog')

【讨论】:

有一个很小的错误,错过了 pg_user 的模式名称。 ``` SELECT n.nspname, b.usename, p.proname, p.prosrc FROM pg_catalog.pg_namespace n JOIN pg_catalog.pg_proc p ON pronamespace = n.oid join pg_catalog.pg_user b on b.usesysid = p.proowner where nspname不在 ('information_schema', 'pg_catalog') ```【参考方案2】:

这真的很有帮助。有一个很小的错误,错过了 pg_user 的模式名称。

SELECT
    n.nspname,
    b.usename,
    p.proname,
    p.prosrc
FROM
    pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p ON
    pronamespace = n.oid
join pg_catalog.pg_user b on
    b.usesysid = p.proowner
where
    nspname not in ('information_schema',
    'pg_catalog')

【讨论】:

以上是关于如何列出 AWS RedShift 中的所有存储过程的主要内容,如果未能解决你的问题,请参考以下文章

如何使用自动化或命令行工具管理 AWS Redshift 中的存储过程?

AWS Redshift 脚本导出

适用于数据仓库的 AWS Redshift 或 RDS?

列出 aws 存储桶中的对象

AWS Redshift 列式存储与分布方式

如何从一个账户访问 s3 存储桶中的数据以在另一个账户中使用 redshift 处理数据?