【问题标题】:Importing a csv file from s3 into rds PostgreSQL Database > Error: schema "aws_commons does not exist将 csv 文件从 s3 导入 rds PostgreSQL 数据库 > 错误:模式“aws_commons 不存在”
【发布时间】:2020-12-24 13:58:30
【问题描述】:

以下是我采取的步骤:

按照指南创建和连接 PostgreSQL 数据库 > https://aws.amazon.com/getting-started/tutorials/create-connect-postgresql-db/ > 这很成功。

关注

  1. 安装所需的 PostgreSQL 扩展。其中包括 aws_s3 和 aws_commons 扩展。
    CREATE EXTENSION aws_s3 CASCADE;
  2. 确定要使用的数据库表和 Amazon S3 文件。
    CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
  3. 使用 aws_commons.create_s3_uri 函数创建一个 aws_commons._s3_uri_1 结构来保存 Amazon S3 文件信息。
    SELECT aws_commons.create_s3_uri( 'random', 'test.csv', 'us-east-1' ) AS s3_uri

错误:架构“aws_commons 不存在”

当我运行以下代码来识别扩展时: Select * from pg_available_extensions where name like '%aws%'

name installed version comment
aws_commons 1.1 Common data types across AWS services
aws_s3 1.1 AWS S3 extension for importing data from s3

4.IAM

  • 创建了一个 IAM 策略,提供对 Amazon S3 存储桶的访问(服务:S3,访问级别:列表、读取、写入、标记、权限管理)。
  • 创建了一个 IAM 角色并将策略附加到该角色。
  • 然后将 IAM 角色分配给数据库实例。

【问题讨论】:

  • 错误大概是:Error: schema "aws_commons" does not exist

标签: postgresql amazon-web-services amazon-s3


【解决方案1】:

使用了错误的指南,通过将 SQL Workbench/J 配置为使用 Redshift 驱动程序来解决。
见:https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-using-workbench.html
然后使用复制命令。
见:https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 2022-08-16
    • 2021-01-11
    • 2020-05-11
    • 2017-11-14
    • 2021-05-17
    • 2016-11-17
    • 2021-10-20
    • 2013-02-22
    相关资源
    最近更新 更多