在数据共享中使用视图 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在数据共享中使用视图

创建器集群可以共享常规视图、后期绑定视图和具体化视图。共享常规或后期绑定视图时,不必共享基表。将创建器视图下的所有 schema 添加到数据共享中。下表介绍了数据共享如何支持视图。

视图名称 可以将此视图添加到数据共享中吗? 使用者是否可以在跨集群的数据共享对象上创建此视图?
常规视图
后期绑定视图
具体化视图 是,但仅限于完整刷新

以下查询显示了数据共享支持的常规视图的输出。有关常规视图定义的信息,请参阅CREATE VIEW

SELECT * FROM tickit_db.public.myevent_regular_vw ORDER BY eventid LIMIT 5; eventid | eventname ----------+------------- 3835 | LeAnn Rimes 3967 | LeAnn Rimes 4856 | LeAnn Rimes 4948 | LeAnn Rimes 5131 | LeAnn Rimes

以下查询显示了数据共享支持的后期绑定视图的输出。有关后期绑定视图定义的信息,请参阅CREATE VIEW

SELECT * FROM tickit_db.public.event_lbv ORDER BY eventid LIMIT 5; eventid | venueid | catid | dateid | eventname | starttime --------+---------+-------+--------+------------------------------+--------------------- 1 | 305 | 8 | 1851 | Gotterdammerung | 2008-01-25 14:30:00 2 | 306 | 8 | 2114 | Boris Godunov | 2008-10-15 20:00:00 3 | 302 | 8 | 1935 | Salome | 2008-04-19 14:30:00 4 | 309 | 8 | 2090 | La Cenerentola (Cinderella) | 2008-09-21 14:30:00 5 | 302 | 8 | 1982 | Il Trovatore | 2008-06-05 19:00:00

以下查询显示了数据共享支持的具体化视图的输出。有关具体化视图定义的信息,请参阅CREATE MATERIALIZED VIEW

SELECT * FROM tickit_db.public.tickets_mv; catgroup | qtysold ----------+--------- Concerts | 195444 Shows | 149905

您可以在创建器集群中的所有租户之间维护公用表。您还可以将按维度列筛选的数据子集,例如 tenant_idaccount_idnamespace_id),共享到使用者集群中。为此,您可以在这些 ID 列上使用筛选器,例如 current_aws_account = tenant_id,以在基表上定义一个视图。在使用者方面,当您查询视图时,只能看到符合您账户条件的行。为此,您可以使用 Amazon Redshift 上下文函数 current_aws_accountcurrent_namespace

以下查询返回当前 Amazon Redshift 集群所在的账户 ID。如果您已连接到 Amazon Redshift,则可以运行此查询。

select current_user, current_aws_account; current_user | current_aws_account -------------+-------------------- dwuser | 111111111111 (1row)

以下查询返回当前 Amazon Redshift 集群的命名空间。如果已连接到数据库,则可以运行此查询。

select current_user, current_namespace; current_user | current_namespace -------------+-------------------------------------- dwuser | 86b5169f-01dc-4a6f-9fbb-e2e24359e9a8 (1 row)