postgresql 将视图从Postgres复制到AWS DMS上的Postgres

fumotvh3  于 5个月前  发布在  PostgreSQL
关注(0)|答案(2)|浏览(97)

我正在使用AWS DMS将数据从一个Postgres数据库迁移到另一个Postgres数据库。一切正常,除了一件事:目标数据库上的视图没有复制。
我已经读到这不能在使用DMS的异构数据库(即从Oracle到Postgres)之间完成,但我想当我们使用相同的数据库时,这是可能的。
有人知道如何使用AWS DMS将视图从Postgres复制到Postgres吗?

xghobddn

xghobddn1#

DMS是一个数据迁移服务,视图是一个虚拟表(用sql code/object表示),它本身不像表那样包含任何数据。

vs91vp4v

vs91vp4v2#

如果你不想迁移实际的JSON,而是很乐意将数据从源中的视图复制到目标中的表(类似于物化目标中的视图),那么你可以这样做,但你需要跳转到JSON配置,这里有一些警告。
根据DMS文档的Selection rules and actions部分,您可以向object-locator对象添加table-type字段,将其值设置为viewall中的一个以迁移视图。默认值为table,这会跳过视图,并且除了修改JSON之外,控制台中没有配置字段。
举例来说:

{
  "rule-type": "selection",
  "rule-id": "123456",
  "rule-name": "some-rule",
  "object-locator": {
    "schema-name": "my_schema",
    "table-name": "%",
    "table-type": "view"
  },
  "rule-action": "include",
  "filters": []
}

字符串
但有几个警告:

  • 并不是所有的源都支持视图迁移。例如,Aurora PostgreSQL就不支持,如果你尝试保存任务,会给予错误,所以你可能需要用普通的PostgreSQL替换端点
  • 如果要迁移视图,唯一的选择就是满负荷- CDC不起作用,因此不可能进行部分迁移
  • 使用DMS Serverless迁移视图doesn't appear to be supported *-您将得到类似于“Views isn 't supported for serverless yet”的错误(它们的语法,不是我的)

相关问题