我密切关注了有关将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');
失败,并显示以下错误:
[42883]错误:函数aws_s3.query_export_to_s3(未知,未知,未知)不存在提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
未记录此错误(或者我找不到相关文档)。似乎aws_s3.query_export_to_s3
扩展中实际上缺少该功能!
我试图查看此功能aws_s3.query_export_to_s3
是否真正丢失。我已经尝试过:
aws_s3
名将显示esxtension已安装:SELECT * FROM pg_available_extensions where name like '%aw%';
结果:
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)
query_export_to_s3
功能:SELECT e.extname, ne.nspname AS extschema, p.proname, np.nspname AS proschema
FROM pg_catalog.pg_extension AS e
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
INNER JOIN pg_catalog.pg_namespace AS ne ON (ne.oid = e.extnamespace)
INNER JOIN pg_catalog.pg_namespace AS np ON (np.oid = p.pronamespace)
WHERE d.deptype = 'e' AND e.extname like '%aws%'
ORDER BY 1, 3;
结果:
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)
更多信息:PostgreSQL 12.3 on x86_64-pc-linux-gnu
。
任何人都可以确认该功能确实缺失吗?换句话说,任何人都可以使用此功能吗?
尝试升级到Postgres 12.4。我遇到了类似的问题,这就是AWS支持告诉我的内容(响应粘贴在下面)。[编辑]
更新资料
最初,我还没有完全正常工作,但是可以确认升级到Postgres 12.4,然后删除并重新创建该扩展程序。
DROP EXTENSION aws_s3 CASCADE;
DROP EXTENSION aws_commons CASCADE;
CREATE EXTENSION aws_s3 CASCADE;
来自AWS支持的原始回复:
基于describe-db-engine-versions [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"
]
} ]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句