Postgresql 无法使用AWS_S3.query_export_to_S3函数将AWS RDS Postgres表导出到S3中的CSV
我密切关注有关将AWS RDS Postgres表作为CSV导出到S3的文档,但仍然无法使其正常工作。 更具体地说,在创建Postgresql 无法使用AWS_S3.query_export_to_S3函数将AWS RDS Postgres表导出到S3中的CSV,postgresql,amazon-web-services,amazon-s3,export-to-csv,Postgresql,Amazon Web Services,Amazon S3,Export To Csv,我密切关注有关将AWS RDS Postgres表作为CSV导出到S3的文档,但仍然无法使其正常工作。 更具体地说,在创建aws_s3扩展之后 CREATE EXTENSION IF NOT EXISTS aws_s3 CASCADE; 我尝试执行此函数: SELECT * from aws_s3.query_export_to_s3('select * from users limit 10', 'sample-s3-bucket', '/users_demo.csv'); 失败,出现以
aws_s3
扩展之后
CREATE EXTENSION IF NOT EXISTS aws_s3 CASCADE;
我尝试执行此函数:
SELECT * from aws_s3.query_export_to_s3('select * from users limit 10', 'sample-s3-bucket', '/users_demo.csv');
失败,出现以下错误:
[42883]错误:函数aws_s3.查询_导出_至_s3(未知,未知,
未知)不存在提示:没有与给定名称和
参数类型。您可能需要添加显式类型转换
此错误没有记录(或者我找不到相关的文档)。扩展中似乎缺少了aws\u s3.query\u export\u to\u s3
函数
我试图查看是否确实缺少此函数aws\u s3.query\u export\u to\u s3
。我已经试过:
aws_s3
esxtension: name | default_version | installed_version | comment
-------------+-----------------+-------------------+---------------------------------------------
aws_s3 | 1.0 | 1.0 | AWS S3 extension for importing data from S3
aws_commons | 1.0 | 1.0 | Common data types across AWS services
(2 rows)
extname | extschema | proname | proschema
-------------+-----------+------------------------+-------------
aws_commons | public | create_aws_credentials | aws_commons
aws_commons | public | create_s3_uri | aws_commons
aws_s3 | public | table_import_from_s3 | aws_s3
aws_s3 | public | table_import_from_s3 | aws_s3
(4 rows)
query\u export\u to\u s3
函数: name | default_version | installed_version | comment
-------------+-----------------+-------------------+---------------------------------------------
aws_s3 | 1.0 | 1.0 | AWS S3 extension for importing data from S3
aws_commons | 1.0 | 1.0 | Common data types across AWS services
(2 rows)
extname | extschema | proname | proschema
-------------+-----------+------------------------+-------------
aws_commons | public | create_aws_credentials | aws_commons
aws_commons | public | create_s3_uri | aws_commons
aws_s3 | public | table_import_from_s3 | aws_s3
aws_s3 | public | table_import_from_s3 | aws_s3
(4 rows)
x86_64-pc-linux-gnu上的PostgreSQL 12.3
有人能确认这个功能确实缺失吗?换句话说,任何人都可以使用此功能吗?尝试升级到Postgres 12.4。我有一个类似的问题,这就是AWS支持告诉我的(回复粘贴在下面)。[已编辑] 更新 起初,我还没有完全做到这一点,但我可以确认升级到Postgres 12.4,删除并重新创建扩展是可行的
DROP扩展aws_s3级联;
丢弃扩展aws_公共级联;
创建扩展aws_s3级联;
AWS支持部门的原始响应:
根据描述数据库引擎版本[1]的输出,我只能看到
以下特定引擎版本支持s3Export功能。因此
版本12.2不支持导出到S3功能
[
{
"Engine": "postgres",
"EngineVersion": "10.14",
"SupportedFeatureNames": [
"s3Import",
"s3Export"
]
},
{
"Engine": "postgres",
"EngineVersion": "11.9",
"SupportedFeatureNames": [
"s3Import",
"s3Export"
]
},
{
"Engine": "postgres",
"EngineVersion": "12.4",
"SupportedFeatureNames": [
"s3Import",
"s3Export"
]
} ]
将RDS实例升级到12.4并执行以下操作对我很有效
DROP EXTENSION aws_s3;
丢弃扩展aws_commons;
创建扩展aws_s3级联;
我被这个版本的垃圾搞糊涂了。