要列出AWS Redshift过程中的架构和表清单以及组名,可以使用以下SQL查询:
SELECT n.nspname AS schema_name, c.relname AS table_name, g.groname AS group_name FROM pg_namespace n JOIN pg_class c ON c.relnamespace = n.oid LEFT JOIN pg_group g ON g.grosysid = c.relowner WHERE n.nspname NOT IN ('pg_internal') AND c.relkind = 'r' ORDER BY schema_name, table_name;
这将返回一个具有3列的结果集:架构的名称,表的名称和表所有者所属的组名。请注意,为了仅包括常规关系表(即不包括索引等其他类型的表),我们在WHERE子句中添加了一个条件检查'c.relkind = "r"'。
此外,我们通过使用LEFT JOIN而不是INNER JOIN,确保即使未分配组的表也包括在结果集中。如果您愿意,还可以在WHERE子句中添加更多过滤条件,例如过滤掉系统架构'pg_internal'中的表。
希望这有助于帮助您在AWS Redshift中列出架构和表列表,以及它们所属的组。