track_commit_timestamp 参数设置为 on,可以快速查看事务的提交时间

本文介绍了在CentOS 7.8上使用PostgreSQL 13时如何启用`track_commit_timestamp`参数来收集事务提交时间。通过设置`track_commit_timestamp=on`并重启服务器,可以使用`pg_xact_commit_timestamp`函数查看事务的提交时间。在未启用此参数时,尝试获取提交时间会导致错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

os: centos 7.8
db: postgresql 13

track_commit_timestamp (boolean)
记录事务的提交时间。这个参数只能在postgresql.conf 文件中或在服务器命令行上设置。
默认值是off。

track_commit_timestamp = off

pgbenchdb=# \x
Expanded display is on.
pgbenchdb=# select * from pg_settings where name ='track_commit_timestamp' order by name;
-[ RECORD 1 ]---+----------------------------------
name            | track_commit_timestamp
setting         | off
unit            | 
category        | Replication
short_desc      | Collects transaction commit time.
extra_desc      | 
context         | postmaster
vartype         | bool
source          | default
min_val         | 
max_val         | 
enumvals        | 
boot_val        | off
reset_val       | off
sourcefile      | 
sourceline      | 
pending_restart | f

看下效果

pgbenchdb=# \x
pgbenchdb=# create table tmp_t0 (
a int4
)
;

pgbenchdb=# insert into tmp_t0(a) values(1);

pgbenchdb=# select pg_xact_commit_timestamp(xmin),tableoid,cmax,xmax,cmin,xmin,ctid,a from tmp_t0;

ERROR:  could not get commit timestamp data
HINT:  Make sure the configuration parameter "track_commit_timestamp" is set.

使用 pg_xact_commit_timestamp 函数是,提示很明显。

track_commit_timestamp = on

需要重启 server

pgbenchdb=# insert into tmp_t0(a) values(2);

pgbenchdb=# select pg_xact_commit_timestamp(xmin),tableoid,cmax,xmax,cmin,xmin,ctid,a from tmp_t0;
   pg_xact_commit_timestamp    | tableoid | cmax | xmax | cmin |  xmin   | ctid  | a 
-------------------------------+----------+------+------+------+---------+-------+---
                               |    16433 |    0 |    0 |    0 | 1604950 | (0,1) | 1
 2021-07-02 11:25:54.035998+08 |    16433 |    0 |    0 |    0 | 1604951 | (0,2) | 2
(2 rows)

nice

参考:
http://postgres.cn/docs/13/runtime-config-replication.html#GUC-TRACK-COMMIT-TIMESTAMP
http://postgres.cn/docs/13/functions-info.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据库人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值