KingbaseESV8R6有个参数 track_commit_timestamp,用来开启跟踪事务提交的时间戳。
1、编辑kingbase.conf,添加配置如下:
track_commit_timestamp = on 接着重启kingbase实例。这时候在control file中查看track_commit_timestamp setting: ? ? ? on
2、使用函数sys_xact_commit_timestamp查询记录更新或插入的时间。如下:
# create table colors (id int,name text);
# INSERT INTO colors VALUES (1,'ga'),(2,'c'),(3,'i');
# SELECT sys_xact_commit_timestamp(xmin), * FROM colors;
test=# SELECT sys_xact_commit_timestamp(xmin), * FROM colors; ? ?sys_xact_commit_timestamp ? ?| id | name -------------------------------+----+------ ?2022-04-26 10:00:46.692528+08 | ?1 | ga ?2022-04-26 10:00:46.692528+08 | ?2 | c ?2022-04-26 10:00:46.692528+08 | ?3 | i (3 rows)
需要注意的是,跟踪的时间只对配置参数后并重启数据库实例后新生成的记录有效。
使用sys_last_committed_xact函数查看数据库最后提交事务时间戳:
?# INSERT INTO colors VALUES (7,'l'),(5,'y'),(4,'t');
?# SELECT * FROM sys_last_committed_xact();
?xid | ? ? ? ? ? timestamp -----+------------------------------- ?944 | 2022-04-26 10:03:59.337716+08 (1 row)
?(1 row) ?
|