postgresql - 将大数据从 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 存储桶?
解决方案
您可以将程序的输出通过管道传输到 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
推荐阅读
- python - 如何使用xpath点击下一页
- android - 异步任务跟不上 for 循环(firebase)
- linux - Samba - Apache 权限
- outlook - Office365 Exchange REST API 错误、端点和权限问题
- php - PHP preg_match 在自己的计算机上不起作用
- angular - Angular 中有没有办法在 HTML 页面中显示代码片段?
- clojure - Clojure Set 与 Map Lookup 性能差异
- c++ - 使用 std::vector 时如何将索引信息传递给元素构造函数?
- javascript - 如何在 React Router 中获取多个字符串参数
- c# - 如何将给定属性集的相应键和值存储在列表中的 JSON 文件中