1

对于我正在编写的应用程序,我需要能够识别何时将新数据插入到数据库的多个表中。

问题是双重的,这些数据将每分钟多次插入有时非常大的数据库中(我需要对需求/数据库轮询问题敏感)并且我无法控制创建这些数据的应用程序(到目前为止据我所知,我不能使用 postgres 中提供的通知/侦听功能来完成这种任务*)。

任何有关良好策略的建议将不胜感激。

*我相信控制此数据的应用程序本身正在使用通知/侦听功能,但我不知道如何(如果可能的话)知道它在外部使用的“通道”以及它是否能够锁定到那个。

4

1 回答 1

1

通常,您需要表格中的某些内容来确定是否新奇,并且有几种方法。

时间戳列可以让您使用日期,但您仍然会遇到将日期存储在数据库之外的应用程序问题,并且不在数据库中的数据意味着要管理的另一个数据领域。呸。

基于每个表存储上次更新/插入时间戳的跟踪表可以为您提供所需的内容。您可能希望使用触发器来维护最后一个 DML 时间戳。

您不想使用的解决方案是来自 nextval 的序列(整数)id,用于唯一性以外的任何目的。标准/常见错误是假定串行键是连续的(它们不是)或单调的(它们不是)。

于 2013-05-20T02:23:20.413 回答