Kir*_*ran 5 postgresql metadata
我想检索在运行命令的过去一小时内修改的所有记录。它纯粹是一个元数据命令(不考虑任何表格列数据的内容)。我想识别在指定的时间持续时间内进行了一些 DML 修改的表和这些表的行。
在运行命令返回我要查找的信息之前,Postgres 是否需要特殊配置来跟踪如此详细的元数据?
我将运行什么查询来获取我正在寻找的结果?
Postgres 9.5引入了记录提交时间戳的功能。手册:
track_commit_timestamp
(bool
)记录事务的提交时间。
postgresql.conf
该参数只能在文件中或服务器命令行上设置 。默认值为off
。
一旦数据库服务器在激活此设置的情况下重新启动,Postgres 就会跟踪提交时间戳。然后,例如,要从表中获取过去 4 小时内以任何方式更改的所有行:
SELECT * FROM tbl
WHERE pg_xact_commit_timestamp(xmin) >= now() - interval '4 hours';
Run Code Online (Sandbox Code Playgroud)
有关的:
归档时间: |
|
查看次数: |
628 次 |
最近记录: |