1

我使用 Microsoft SQL Server,我的客户使用 PostgreSQL。

我从客户端数据库(PostgreSQL)获取数据到我的数据库(SQL Server)的最后一次刷新日期。例如:

select * 
from tablename 
where date > '2012-06-13'

..对于今天的复制,明天我将再次运行它:

 select * 
 from tablename 
 where date > '2012-06-14'

我每天都运行这个。但有时客户端已经删除了一些行。在这种情况下,我也需要了解他们。

有一个独特的id列。客户没有发给我 deleted id。我必须抓住那些——但是怎么做?我每周一次将所有 id 列从客户端加载到我这边的一个单独的表中,然后我删除客户端数据库上不存在但存在于我的数据库上的那个。它不适用于大桌子。我不断收到超时错误。有任何想法吗?

4

1 回答 1

0

您可能想要查看的一件事(显然,您所做的任何事情都需要在您的客户端捕获东西)是: http: //pgfoundry.org/projects/tablelog/

我在几个项目中使用过它,它非常适合在表格中捕获历史信息以及它们发生了什么。这样您就不必编写自己的触发器。

于 2012-09-08T14:25:43.950 回答