将sg_dump从s3加载到redshift中

时间:2017-11-30 01:03:41

标签: amazon-s3 amazon-redshift pg-dump

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

由于

1 个答案:

答案 0 :(得分:0)

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

您需要做的是:

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