繁体   English   中英

红移列名称

[英]Redshift column names

我是红移的新手。 我在“abc”架构中有一些表需要提取其列名和主键信息。 有人可以指导吗。 假设架构名称为“abc”,表名称为“xyz”,其列需要列在一行中。

使用AWS Labs提供的v_generate_tbl_ddl.sql ,您可以使用表级或架构级过滤器。

您可以查询SVV_COLUMNS表。 这包括:

  • 方案名称
  • 表名
  • 栏名

我使用此查询来获取主键列表。 可以添加很多附加信息。 pg_ 表的 Postres 官方文档很有帮助。

SELECT
    f.attname AS column_name
FROM
    pg_catalog.pg_namespace n
JOIN pg_catalog.pg_class c ON
    n.oid = c.relnamespace
JOIN pg_catalog.pg_attribute f ON
    c.oid = f.attrelid
JOIN pg_catalog.pg_constraint p ON
    p.conrelid = c.oid
    AND f.attnum = ANY (p.conkey)
WHERE
    n.nspname = 'schema_name'
    AND c.relkind = 'r'
    AND c.relname = 'table_name'
    AND p.contype = 'p'
    AND f.attnum > 0
ORDER BY
    f.attnum;

暂无
暂无

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

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