亚马逊红移是否支持扩展dblink?

5
CREATE EXTENSION dblink;

我尝试在AWS上创建一个扩展dblink,但是我收到了以下错误信息。

错误:语法错误,在“EXTENSION”附近的行1:create extension dblink;

3个回答

10

为了完整性,我补充说明,在Redshift Spectrum中也支持相同的方式。 - Vzzarr

2

虽然AWS Redshift基于Postgresql,但它具有各种增强/修改,以整合AWS基础架构和与标准Postgresql非常不同的后端。为了创建DB Link,您不需要(事实上,也不能)加载DB Link扩展。

相反,AWS使用其独特的CREATE EXTERNAL SCHEMA替换了标准的Postgresql CREATE SERVERIMPORT FOREIGN SCHEMA语句 - 这会为您创建DB链接:

CREATE EXTERNAL SCHEMA [IF NOT EXISTS] local_schema_name
FROM { [ DATA CATALOG ] | HIVE METASTORE | POSTGRES | MYSQL | KINESIS }
[ DATABASE 'database_name' ]
[ REGION 'aws-region' ]
[ URI 'hive_metastore_uri' [ PORT port_number ] ]
IAM_ROLE { default | 'arn:aws:iam::<AWS account-id>:role/<role-name>' }
[ SECRET_ARN 'ssm-secret-arn' ]          
[ CATALOG_ROLE 'catalog-role-arn-string' ] 
[ CREATE EXTERNAL DATABASE IF NOT EXISTS ]

这个语句可以一次性完成所有操作。完整的文档可以在这里找到。


2
这应该是当前的答案。 - N R

2
答案是“是”,但您必须使用Amazon RDS作为‘缓存’,利用RDS的Dblink功能。这使我们能够将任何Amazon Redshift表作为RDS中的关系可用,无需显式地复制该数据。 Dblink处理块级别上的数据移动。
我们使用了John提供的链接中描述的方法。我们在博客文章“Have Your Postgres Cake with Amazon Redshift and eat it, too.”中详细介绍了我们的方法。 https://www.intermix.io/blog/using-amazon-redshift-with-amazon-rds/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接