amazon-s3 - 将 s3 的 pg_dump 加载到 redshift 中

标签 amazon-s3 amazon-redshift pg-dump

我正在尝试将完整的数据库转储加载到 Redshift 中。是否有一个命令可以将 s3 上的 pg_dump 中的数据恢复到 Redshift 中?如果没有,解决这个问题的最佳步骤是什么?

谢谢

最佳答案

如果您有一个非压缩 pg_dump,这应该可以使用 psql 命令实现(您可能需要手动编辑以获得正确的语法,具体取决于您的版本和选项集)。 然而,这是一种非常低效且缓慢的加载 Redshift 的方式,我不推荐它。如果您的表很大,可能需要几天或几周的时间!

您需要做的是:

  1. 根据源表在 redshift 上创建目标表,但是 考虑排序键和分布。
  2. 使用 postgres 将 postgres 源表卸载到 csv 文件中 “复制”命令
  3. 如果源 csv 文件非常大(例如超过 100MB), 考虑将它们拆分成单独的文件,因为它们将加载 更快( Redshift 将并行化)
  4. gzip csv 文件(推荐但非必需)
  5. 将这些 csv 文件上传到 s3,每个表都有一个单独的文件夹
  6. 使用 redshift 副本将数据从 s3 加载到 redshift 命令

关于amazon-s3 - 将 s3 的 pg_dump 加载到 redshift 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47564334/

相关文章:

ruby-on-rails-3 - 文件未使用回形针亚马逊配置保存到 S3

ruby-on-rails - Ruby aws-sdk - 授予所有用户权限

mysql - 使用 Erwin 为 Amazon Redshift 创建 DDL

amazon-redshift - AWS RedShift 的沙盒版本

perl - pg_dump 单个表——可以在循环中执行吗?

java - 从 java 调用 pg_dump 时命令行参数过多

python - 如何使用 python 将流上传到 AWS s3

ruby-on-rails - S3/Paperclip 在 Heroku 但不是 Localhost 上工作

csv - BigQuery 加载较大的 CSV 文件失败

postgresql - 使用 postgres pg_dump 命令时出现此错误消息的原因是什么?