gpt4 book ai didi

postgresql - 无法使用 aws_s3.query_export_to_s3 函数将 AWS RDS Postgres 表导出到 S3 中的 CSV

转载 作者:行者123 更新时间:2023-12-04 02:30:29 26 4
gpt4 key购买 nike

我密切关注有关将 AWS RDS Postgres 表作为 CSV 导出到 S3 的文档,但仍然无法使其工作。
Documentation URL
更具体地说,在创建 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] ERROR: function aws_s3.query_export_to_s3(unknown, unknown,unknown) does not exist Hint: No function matches the given name andargument types. You might need to add explicit type casts.


这个错误没有记录(或者我找不到相关的文档)。看来 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)

  • 最后,删除并重新创建扩展 aws_s3 不起作用。

  • 更多信息: 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 Support 的原始回复:
    基于 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"
    ]
    } ]

    关于postgresql - 无法使用 aws_s3.query_export_to_s3 函数将 AWS RDS Postgres 表导出到 S3 中的 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64501490/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com