繁体   English   中英

如何查询 Redshift 以获取特定数据库的所有模式名称

[英]How to query Redshift to obtain all the schema names for a specific database

我知道数据库存在于模式中,但我正在使用现有设计。 我的针对 postgres 的旧查询如下。 我想为 Redshift 重新创建它。 或者一些帮助将数据库链接到模式。

select
d.datname database_name
,s.schema_name
from pg_catalog.pg_database d
inner join information_schema.schemata s on s.catalog_name = d.datname
where d.datname = @database_name

所以由于某种原因,“公共”模式不包含在 information_schema.schema 中。

我目前的解决方法是:

select cast(@database_name as char(150)) database_name,cast('public' as char(150)) schema_name
union all
select
cast(d.datname as char(150))  database_name
,cast(s.schema_name as char(150)) schema_name
from pg_catalog.pg_database d
inner join information_schema.schemata s on s.catalog_name = d.datname
where d.datname = @database_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM