PostgreSQL设置track_commit_timestamp跟踪数据插入和更新的时间

PostgreSQL 9.5新增了配置项track_commit_timestamp,它是用来开启跟踪记录事务提交的时间戳。

配置

编辑postgresql.conf,添加配置先如下:

track_commit_timestamp = on

接着重启PostgreSQL。

查询

使用函数pg_xact_commit_timestamp查询记录更新或插入的时间。具体事务可以传transaction_id,也可以使用系统列xmin作为函数的参数,如下:

# INSERT INTO colours VALUES ('mauve'),('cyan'),('indigo');
INSERT
# SELECT pg_xact_commit_timestamp(xmin), * FROM colours;
pg_xact_commit_timestamp | id | name
-------------------------------+----+--------
| 1 | red
| 2 | green
| 3 | blue
2015-10-02 11:16:34.678267+01 | 4 | mauve
2015-10-02 11:16:34.678267+01 | 5 | cyan
2015-10-02 11:16:34.678267+01 | 6 | indigo

需要注意的是,跟踪的时间只对在配置重启PostgreSQL后的记录有效,之前的记录是没有跟踪时间。

使用pg_last_committed_xact函数查看最后提交的事务时间戳:

 # SELECT * FROM pg_last_committed_xact();
xid | timestamp
------+-------------------------------
2039 | 2015-10-02 11:16:34.678267+01
(1 row)

版权声明:著作权归作者所有。

相关推荐

忘记PostgreSQL的安装密码重置密码

忘记PostgreSQL的安装密码,需要使用无密码的方式登陆,这样需要重启postgresql。1、备份配置文件pg_hba.conf我们需要对pg-hba.conf修改,在改动前最好先备份它。它一般在/etc/postgresql-9.1/pg_hba.conf。cd /etc/postgresql-9.3/ cp pg_hba.conf pg_hba.conf-b

PHP7设置和删除cookie

PHP设置和删除cookie都是使用setcookie函数:bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bo

MySQL查看和设置事务的隔离级别

查看MySQL的事务隔离级别查看事务隔离级别SHOW VARIABLES LIKE 'tx_isolation'; 查看全局的事务隔离级别SHOW GLOBAL VARIABLES LIKE 'tx_isolation'; 使用系统变量查询SELECT @@global.tx_isolation; SELECT&nbs

MyBatis执行MySql批量插入数据

MySQL批量插入数据语法为:insert into my_table(field1, field2, field3) values ("f1_vaule1","f2_vaule1","f3_vaule1"), ("f1_vaule2","f2_vaule2"

Sql Server使用查询语句更新数据

Sql Server支持在一个sql语句里使用查询的数据更新表。简单更新简单的使用一个表的数据更新另一个表。UPDATE    table_a  SET    table_a.col1=table_b.col1 FROM    table_b  WHERE table_