【问题标题】:How can I sync a SQL Server view to a Postgres table?如何将 SQL Server 视图同步到 Postgres 表?
【发布时间】:2021-03-14 13:06:33
【问题描述】:

我需要将旧版 SQL Server 数据库(源)中的多个表中的数据同步到 Postgres 数据库(目标)中的单个表。源数据库的架构是荒谬的,因此选择数据的查询需要很长时间才能运行。我打算在源数据库中创建一个索引视图,然后以某种方式将该索引视图同步到 Postgres 表。

现在,我只是有一个计划任务,它删除 Postgres 表(目标),然后通过在源数据库中运行复杂查询从头开始重新创建它。这设置起来很快,并且它确保源数据库中的更改始终最终到达目标数据库,但是每隔几个小时重新创建表(可以理解)非常缓慢且昂贵。我需要一种将正在进行的更改(仅新的/更新的数据)从源视图复制到目标表的方法。有没有(相对)简单的方法来做到这一点?

我对 CDC 有点熟悉,但我知道 CDC 不能用于视图,所以我不认为这是一个选项。向源表添加“更新于”时间戳不是一种选择,所以我不能使用这种方法。我可以在源表中添加一个哈希列,或者在视图中添加一个哈希列,如果可以的话,这是一个选项。是否有现有的工具/服务可以满足我的需求?

【问题讨论】:

    标签: sql-server postgresql synchronization etl database-migration


    【解决方案1】:

    如果你想在 PostgreSQL 中查看 SQL Server DB 数据,那么你也可以使用 tds_fdw。 https://github.com/tds-fdw/tds_fdw

    此外,还有一些第三方工具可以帮助您实现目标,例如 SymmetricDS http://www.symmetricds.org/about/overview

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多