CREATE EXTENSION dblink;
我尝试在AWS上创建一个扩展dblink,但是我收到了以下错误信息。
错误:语法错误,在“EXTENSION”附近的行1:create extension dblink;
CREATE EXTENSION dblink;
我尝试在AWS上创建一个扩展dblink,但是我收到了以下错误信息。
错误:语法错误,在“EXTENSION”附近的行1:create extension dblink;
可以和不可以。
Amazon Redshift本身不提供dblink功能。然而,您可以在另一个PostgreSQL服务器上安装dblink,并使用它连接到Amazon Redshift。
虽然AWS Redshift基于Postgresql,但它具有各种增强/修改,以整合AWS基础架构和与标准Postgresql非常不同的后端。为了创建DB Link,您不需要(事实上,也不能)加载DB Link扩展。
相反,AWS使用其独特的CREATE EXTERNAL SCHEMA
替换了标准的Postgresql CREATE SERVER
和IMPORT 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 ]
这个语句可以一次性完成所有操作。完整的文档可以在这里找到。