【问题标题】:I need to copy a database from one Redshift Cluster to another cluster我需要将数据库从一个 Redshift 集群复制到另一个集群
【发布时间】:2017-10-20 15:38:45
【问题描述】:

在将数据库从一个 Redshift 集群移动到另一个 Redshift 集群时,我需要帮助。在这里,我不是在复制表格。我想复制一个数据库。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 目标是否已经存在?所以你要向现有的目标集群添加一个新数据库?
  • 当您说“复制数据库”时,您指的是 PostgreSQL“数据库”实体(一个集群可以通过CREATE DATABASE 命令创建多个数据库),还是指Redshift 集群的完整内容?随时编辑您的问题以提供更多详细信息(例如您的情况以及您希望这样做的原因)。
  • no @JohnRotenstein.. 我想将特定数据库从一个集群移动到另一个集群,而不是所有内容。
  • “移动数据库,但不是所有内容”是什么意思。您的意思是“将集群中的一个特定数据库(通过CREATE DATABASE 创建)移动到另一个集群,而不是该集群中in 的其他数据库”?我问是因为很多人对“数据库”的定义感到困惑。
  • 将集群中的一个特定数据库(通过 CREATE DATABASE 创建)移动到另一个集群

标签: database amazon-redshift amazon-redshift-spectrum


【解决方案1】:
  • 使用 s3 作为临时存储

    如果两个集群都在同一个区域,那么
    从集群 1 卸载到 s3
    然后
    从 S3 复制到集群 2。

  • 使用集群快照。

    创建源集群的快照,然后将快照恢复为目标集群。

    如果我做了一个错误的假设,请发表评论,我会重新调整我的答案。

【讨论】:

    【解决方案2】:

    您可以拍摄当前数据库的快照。并在创建新数据库后恢复它。

    【讨论】:

      【解决方案3】:

      你有两个选择:

      选项 1:拍摄快照并通过还原快照创建新集群并删除不需要的数据库。如果需要,您可以有一个跨区域。

      选项2:将表数据从当前数据库卸载到S3,新建数据库后将数据复制到新数据库,这里需要手动创建用户、组、访问等所有依赖项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-26
        • 2017-09-07
        • 2016-12-07
        • 2021-11-01
        • 2022-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多