除非你自己录制,否则Postgresql中没有这样的元数据 – 直到Postgres 9.4.
您可以从row headers (HeapTupleHeaderData)中推断出一些信息,特别是从插入事务ID xmin中推断出来的信息.它包含插入行的事务的ID(需要在Postgresql的MVCC模型中确定可见性).尝试(对于任何表):
SELECT xmin,* FROM tbl LIMIT 10;
一些限制适用:
>如果数据库被转储和恢复,那么显然信息已经消失 – 所有行都插入到同一个事务中.
>如果数据库很大/非常老/非常大,那么它可能已经经历了transaction ID wraparound,并且xmin中的数字顺序是不明确的.
但对于大多数数据库,您应该能够推导出:
> INSERT的时间顺序
>哪些行插在一起
>当插入之间(可能)之间有很长一段时间
但是没有时间戳.
Postgres 9.5或更高版本
您可以在postgresql.conf中启用track_commit_timestamp
(并重新启动)以开始跟踪提交时间戳.然后你可以得到你的xmin的时间戳.相关回答:
原文地址:https://www.jb51.cc/postgresql/192147.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。