在Postgresql中选择新的或更新的记录com表

时间:2015-07-15 18:45:13

标签: postgresql

可以从postgresql中的一个表中获取所有新记录或更新记录 指定日期?

类似的东西:

从anyTable WHERE dt_insert或dt_update =' 2015-01-01'

选择NEW或UPDATED

TKS

1 个答案:

答案 0 :(得分:1)

如果您添加了一个跟踪上次更改时间的触发器维护字段,则只能执行此操作。

PostgreSQL中没有内部行时间戳,因此如果没有针对该行的触发器维护时间戳,则无法在一定时间后找到更改/添加的行。

PostgreSQL 有关于写入行的事务ID的内部信息,存储在xmin隐藏列中。但是,在PostgreSQL 9.5之前,只有当新的track_commit_timestamps设置被打开时才会跟踪此事件,因此没有记录提交的事务ID。此外,PostgreSQL最终会从元组中清除创建者事务ID信息,因为它重新使用事务ID,因此它仅适用于最近的事务。

换句话说:如果您了解数据库的内部结构,那么它可能是粗略的,但实际上只能用于取证和恢复。