可以从postgresql中的一个表中获取所有新记录或更新记录 指定日期?
类似的东西:
从anyTable WHERE dt_insert或dt_update =' 2015-01-01'
选择NEW或UPDATEDTKS
答案 0 :(得分:1)
如果您添加了一个跟踪上次更改时间的触发器维护字段,则只能执行此操作。
PostgreSQL中没有内部行时间戳,因此如果没有针对该行的触发器维护时间戳,则无法在一定时间后找到更改/添加的行。
PostgreSQL 有关于写入行的事务ID的内部信息,存储在xmin
隐藏列中。但是,在PostgreSQL 9.5之前,只有当新的track_commit_timestamps
设置被打开时才会跟踪此事件,因此没有记录提交的事务ID。此外,PostgreSQL最终会从元组中清除创建者事务ID信息,因为它重新使用事务ID,因此它仅适用于最近的事务。
换句话说:如果您了解数据库的内部结构,那么它可能是粗略的,但实际上只能用于取证和恢复。