track_commit_timestamp

确定是否应跟踪事务提交时间的配置参数

track_commit_timestamp 是一个配置参数,用于确定是否应跟踪事务的提交时间。

track_commit_timestampPostgreSQL 9.5中添加。

默认值

track_commit_timestamp 的默认值为:off

用法

track_commit_timestamp 主要用于逻辑复制解决方案(如pglogical),其中提交时间用作冲突解决的一部分。

track_commit_timestamp 的当前值是pg_control中记录的配置参数之一(PostgreSQL 9.5及更高版本)。

以下系统函数需要启用track_commit_timestamp才能返回有用的数据

按PostgreSQL版本查看详细信息

track_commit_timestamp (PostgreSQL 17)

设置 off
单位  
类别 复制/发送服务器
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 16)

设置 off
单位  
类别 复制/发送服务器
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 15)

设置 off
单位  
类别 复制/发送服务器
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 14)

设置 off
单位  
类别 复制/发送服务器
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 13)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 12)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 11)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 10)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 9.6)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

track_commit_timestamp (PostgreSQL 9.5)

设置 off
单位  
类别 复制
简短描述 收集事务提交时间。
额外描述  
上下文 postmaster
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 off
重置值 off
源文件  
源代码行  
挂起重启 false

文档: track_commit_timestamp

更改历史记录

示例

postgres=# SHOW track_commit_timestamp ;
 track_commit_timestamp 
------------------------
 on
(1 row)

postgres=# CREATE TABLE xact_test (id INT, val TEXT);
CREATE TABLE

postgres=# BEGIN ;
BEGIN

postgres=*# SELECT pg_current_xact_id();
 txid_current 
--------------
          508
(1 row)

postgres=*# INSERT INTO xact_test VALUES (1, 'foo'),
                             (2, 'bar'),
                             (3, 'baz');
INSERT 0 3

postgres=*# SELECT pg_xact_commit_timestamp(xmin), xmin, * FROM xact_test;
 pg_xact_commit_timestamp | xmin | id | val 
--------------------------+------+----+-----
                          |  508 |  1 | foo
                          |  508 |  2 | bar
                          |  508 |  3 | baz
(3 rows)

postgres=*# COMMIT;

postgres=# SELECT pg_xact_commit_timestamp(xmin), xmin, * FROM xact_test ;
   pg_xact_commit_timestamp    | xmin | id | val 
-------------------------------+------+----+-----
 2020-10-25 12:36:47.549053+01 |  508 |  1 | foo
 2020-10-25 12:36:47.549053+01 |  508 |  2 | bar
 2020-10-25 12:36:47.549053+01 |  508 |  3 | baz
(3 rows)

postgres=# SELECT * FROM pg_last_committed_xact();
 xid |           timestamp           
-----+-------------------------------
 508 | 2020-10-25 12:36:47.549053+01
(1 row)

相应的WAL记录(由pg_waldump输出)

rmgr: Heap        len (rec/tot):     63/    63, tx:        508, lsn: 0/03031490, prev 0/03031458, desc: INSERT off 10 flags 0x00, blkref #0: rel 1663/13580/16456 blk 0
rmgr: Heap        len (rec/tot):     63/    63, tx:        508, lsn: 0/030314D0, prev 0/03031490, desc: INSERT off 11 flags 0x00, blkref #0: rel 1663/13580/16456 blk 0
rmgr: Heap        len (rec/tot):     63/    63, tx:        508, lsn: 0/03031510, prev 0/030314D0, desc: INSERT off 12 flags 0x00, blkref #0: rel 1663/13580/16456 blk 0
rmgr: Transaction len (rec/tot):     34/    34, tx:        508, lsn: 0/03031588, prev 0/03031550, desc: COMMIT 2020-10-25 12:36:47.549053 MET

分类

GUC配置项事务

另请参阅

pg_last_committed_xact()pg_xact_commit_timestamp()pg_xact_commit_timestamp_origin()commit_ts

反馈

提交任何关于"track_commit_timestamp"的评论、建议或更正 此处