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 的值。可能的值包括 |
编码 | varchar(128) | 列的编码类型。 |
distkey | 布尔值 | 一个值,如果此列为表的分配键,则为真;否则为假。 |
sortkey | integer |
指定排序键中列的顺序的值。 如果表使用一个复合排序键,则排序键中的所有列将具有一个正值,该值指示列在排序键中的位置。 如果表使用交错排序键,则排序键中的所有列将具有一个正值或负值。其中,绝对值指示列在排序键中的位置。 如果 |
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 | |