dev*_*evd 4 postgresql amazon-s3 amazon-web-services amazon-aurora
我正在尝试从AWS S3to加载数据Aurora Postgres。我已经点击了这个链接https://aws.amazon.com/blogs/database/stream-data-into-an-aurora-postgresql-database-using-aws-dms-and-amazon-kinesis-data-firehose/但是没有任何成功。有没有人加载它或知道一些链接,我可以在其中找到实现它的步骤。
小智 7
虽然这是一个旧帖子,但我希望它会帮助那些正在寻找的人。其中大部分来自AWS 官方文档。我正在添加一些注释以帮助完成。
这是演习:
连接到 RDS Postgres 实例。
在 psql 提示符下运行此命令以创建从 s3 导入数据所需的扩展:
CREATE EXTENSION aws_s3 CASCADE;
Run Code Online (Sandbox Code Playgroud)
创建数据库:
CREATE DATABASE students;
Run Code Online (Sandbox Code Playgroud)
创建表(假设如下三列):
CREATE TABLE t1 (col1 varchar(80), col2 varchar(80), col3 varchar(80));
Run Code Online (Sandbox Code Playgroud)
请注意,您在 S3 存储桶中的 csv 文件应该具有相同数量的列,除非您想跳过一些(这超出了本文的范围)。
要使用控制台为 PostgreSQL 数据库集群添加 IAM 角色:
选择添加角色。
SELECT aws_commons.create_s3_uri('your_bucket_name', 'full/path/to/file.csv','aws_region') AS s3_uri \gset
SELECT aws_s3.table_import_from_s3('t1', '', '(format csv)', :' s3_uri');
不要在 full/path/to/file.csv 前面添加存储桶名称。使用正确的 aws_region(如 us-east-1)并且不要在此处添加任何可用区。
你应该得到类似的东西:
1000 rows imported into relation "t1" from file ...
Run Code Online (Sandbox Code Playgroud)
使用示例查询进行测试:
SELECT * FROM t1 LIMIT 5;
Run Code Online (Sandbox Code Playgroud)
哈。