本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SVV_REDSHIFT_COLUMNS
使用 SVV_REDSHIFT_COLUMNS 查看用户有权访问的所有列的列表。这组列包括集群上的列以及远程集群提供的数据共享中的列。
SVV_REDSHIFT_COLUMNS 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其具有访问权限的元数据。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
database_name | varchar(128) | 包含列的表所在的数据库的名称。 |
schema_name | varchar(128) | 表的架构的名称。 |
table_name | varchar(128) | 表的名称。 |
column_name | varchar(128) | 列的名称。 |
ordinal_position | integer |
列在表中的位置。 |
data_type | varchar(32) | 列的数据类型。 |
column_default | varchar(4000) |
列的默认值。 |
is_nullable | varchar(3) |
一个定义列是否可为 null 的值。可能的值为 |
编码 | varchar(128) | 列的编码类型。 |
distkey | 布尔值 | 如果该列是表的分配键,则为 true 的值,否则为 false。 |
sortkey | integer |
该值指定排序键中列的顺序。 如果表使用一个复合排序键,则排序键中的所有列将具有一个正值,该值指示列在排序键中的位置。 如果表使用交错排序键,则作为排序键一部分的每个列都具有一个正值或负值。在这里,绝对值指示列在排序键中的位置。 如果 |
column_acl | varchar(128) | 一个字符串,定义列的指定用户或用户组的权限。 |
备注 | 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 | |