SVV_REDSHIFT_COLUMNS - Amazon Redshift

SVV_REDSHIFT_COLUMNS

使用 SVV_REDSHIFT_COLUMNS 可以查看用户有权访问的所有列的列表。这组列包括集群上的列和远程集群提供的数据共享中的列。

SVV_REDSHIFT_COLUMNS 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性

表列

列名称 数据类型 描述
database_name varchar(128) 包含列的表所在数据库的名称。
schema_name varchar(128) 表 schema 的名称。
table_name varchar(128) 表的名称。
column_name varchar(128) 列的名称。
ordinal_position integer

列在表中的位置。

data_type varchar(32) 列的数据类型。
column_default varchar(4000)

列的默认值。

is_nullable varchar(3)

定义列是否可为 null 的值。可能的值包括 yesno 或不表示任何信息的 "" 空字符串。

编码 varchar(128) 列的编码类型。
distkey 布尔值 一个值,如果此列为表的分配键,则为真;否则为假。
sortkey integer

指定排序键中列的顺序的值。

如果表使用一个复合排序键,则排序键中的所有列将具有一个正值,该值指示列在排序键中的位置。

如果表使用交错排序键,则排序键中的所有列将具有一个正值或负值。其中,绝对值指示列在排序键中的位置。

如果 sortkey 为 0,则列不是排序键的一部分。

column_acl varchar(128) 为列的指定用户或用户组定义权限的字符串。
remarks varchar(256) 备注。

示例查询

下面的示例返回 SVV_REDSHIFT_COLUMNS 的输出。

SELECT * FROM svv_redshift_columns WHERE database_name = 'tickit_db' AND TABLE_NAME = 'tickit_sales_redshift' ORDER BY COLUMN_NAME, TABLE_NAME, database_name LIMIT 5; database_name | schema_name | table_name | column_name | ordinal_position | data_type | column_default | is_nullable | encoding | distkey | sortkey | column_acl | remarks --------------+-------------+-----------------------+-------------+------------------+-----------+----------------+-------------+----------+---------+---------+-------------+-------- tickit_db | public | tickit_sales_redshift | buyerid | 4 | integer | | NO | az64 | False | 0 | | tickit_db | public | tickit_sales_redshift | commission | 9 | numeric | (8,2) | YES | az64 | False | 0 | | tickit_db | public | tickit_sales_redshift | dateid | 6 | smallint | | NO | none | False | 1 | | tickit_db | public | tickit_sales_redshift | eventid | 5 | integer | | NO | az64 | False | 0 | | tickit_db | public | tickit_sales_redshift | listid | 2 | integer | | NO | az64 | True | 0 | |