在Postgres的Aurora Serverless实例上执行创建功能失败

问题描述 投票:0回答:1

我正在尝试使用AWS(found here)提供的说明在Aurora无服务器Postgres 10.7实例上启用PostGIS扩展,并通过RDS控制台中的查询编辑器执行步骤。使用这些相同的指令,我能够在单独的常规Aurora RDS Postgres实例上成功执行所有命令。

在“步骤4:将对象的所有权转让给rds_superuser角色中,我收到此错误:

enter image description here

如果您尝试使用以下命令从AWS CLI执行命令,这也会失败:

aws rds-data execute-statement --resource-arn "<<RESOURCE_ARN>>" \
--database "postgres" --secret-arn "<<SECRET_ARN>>" \
--sql "CREATE FUNCTION exec(text) returns text language plpgsql volatile AS $f$ BEGIN EXECUTE $1; RETURN $1; END; $f$;"

我如何通过RDS查询编辑器或AWS cli执行这些功能?

postgresql amazon-web-services postgis amazon-rds-aurora aws-aurora-serverless
1个回答
0
投票
RDS查询编辑器和AWS CLI都需要使用'$'字符进行转义。简单地用'\ $'转义'$'的所有实例就可以了。

aws rds-data execute-statement --resource-arn "<<RESOURCE_ARN>>" \ --database "postgres" --secret-arn "<<SECRET_ARN>>" \ --sql "CREATE FUNCTION exec(text) returns text language plpgsql volatile AS \$f\$ BEGIN EXECUTE \$1; RETURN \$1; END; \$f\$;"

© www.soinside.com 2019 - 2024. All rights reserved.