如何检查视图是否存在于Redshift数据库中的架构中



我在Redshift中创建了一个没有架构绑定的视图,但如何检查数据库中其他绑定架构的视图?

以前,我使用SQL Server,它具有检查视图是否绑定到架构的功能。

您可以查询视图定义以查看是否使用了该选项:

SELECT
        c.oid                  ,
        n.nspname AS schemaname,
        c.relname AS viewname  ,
        pg_get_viewdef(c.oid, true) as viewdefinition
FROM
        pg_class c
JOIN
        pg_namespace n
ON
        c.relnamespace = n.oid
WHERE
        c.relkind                      = 'v'::"char"
AND     pg_get_viewdef(c.oid, true) LIKE '%with no schema binding%'