如何将Redshift Serverless集群的Datashare添加至现有Provisioned集群数据库
你无法直接把Datashare“添加”到已有数据库,但可以通过在目标库(dev)中创建外部模式的方式,把Datashare里的表、视图等对象映射到dev库中,实现直接访问。
具体操作步骤如下:
- 在Redshift Provisioned集群的dev数据库中,执行命令创建关联Datashare的外部模式:
CREATE EXTERNAL SCHEMA dev_ds_schema FROM DATASHARE temp_share OF NAMESPACE '<producer-namespace>' -- 若Datashare包含外部表(如S3数据源),需指定有权限的IAM角色;仅含Redshift内部表可省略此参数 IAM_ROLE '<your-iam-role-arn>';
- 创建完成后,即可在dev数据库中通过
dev_ds_schema.<table-name>的格式直接访问Datashare内的对象。
补充操作说明:
- 如需让其他用户访问这些对象,需授予对应权限:
GRANT USAGE ON SCHEMA dev_ds_schema TO <target-username>; GRANT SELECT ON ALL TABLES IN SCHEMA dev_ds_schema TO <target-username>;
- 若Datashare后续新增对象,执行以下命令同步到外部模式:
ALTER SCHEMA dev_ds_schema REFRESH;
内容的提问来源于stack exchange,提问作者kgupta
相关产品推荐
相关产品推荐

