postgresql – 如何找出何时将数据插入Postgres?
我继承了一个充满数据的现有Postgres数据库.大多数数据都有’created_date’列值.在跟踪之前插入了一些早期数据.
是否有一个postgres元数据表隐藏在跟踪INSERT查询完成时的某个地方?
除非你自己录制,否则PostgreSQL中没有这样的元数据 – 直到Postgres 9.4.
您可以从row headers (HeapTupleHeaderData)中推断出一些信息,特别是从插入事务ID xmin中推断出来的信息.它包含插入行的事务的ID(需要在PostgreSQL的MVCC模型中确定可见性).尝试(对于任何表): SELECT xmin,* FROM tbl LIMIT 10; 一些限制适用: >如果数据库被转储和恢复,那么显然信息已经消失 – 所有行都插入到同一个事务中. 但对于大多数数据库,您应该能够推导出: > INSERT的时间顺序 但是没有时间戳. Postgres 9.5或更高版本 您可以在postgresql.conf中启用 > Atomically set SERIAL value when committing transaction (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |