首页 > 解决方案 > 将大数据从 PostgreSQL 导出到 AWS s3

问题描述

我在 PostgreSQL 数据库中有大约 10TB 的数据。我需要将此数据导出到 AWS S3 存储桶中。

我知道如何导出到本地文件,例如:

CONNECT DATABASE_NAME;
COPY (SELECT (ID, NAME, ADDRESS) FROM CUSTOMERS) TO ‘CUSTOMERS_DATA.CSV WITH DELIMITER '|' CSV;

但我没有 10TB 大小的本地驱动器。

如何直接导出到 AWS S3 存储桶?

标签: postgresqlamazon-web-servicesamazon-s3

解决方案


您可以将程序的输出通过管道传输到 s3,如下所示:

cat "hello world" | aws s3 cp - s3://some-bucket/hello.txt

我对 的经验并不丰富postgresql,但据我了解,以下内容应该有效:

psql -U user -d DATABASE_NAME -c "Copy (Select ID, NAME, ADDRESS From CUSTOMERS) To STDOUT With CSV HEADER DELIMITER ',';" | aws s3 cp - s3://some-bucket/CUSTOMERS_DATA.csv.gz

推荐阅读