簡體   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