statement_timestamp()

返回当前查询开始时间的函数

statement_timestamp() 是一个系统函数,返回一个时间戳,表示当前语句开始的时间点。

statement_timestamp()PostgreSQL 8.2 中添加。

用法

statement_timestamp ( ) → timestamp with time zone

返回的值是客户端接收到的最新命令消息的时间。如果它是事务中的第一个也是唯一的语句,则返回的值将与 transaction_timestamp() / current_timestamp 返回的值相同。

更改历史记录

示例

statement_timestamp() 的基本执行示例

postgres=# SELECT statement_timestamp();
      statement_timestamp      
-------------------------------
 2021-06-17 17:51:41.791603+01
(1 row)

在显式事务之外执行的语句中,statement_timestamp() 返回的时间戳与 transaction_timestamp() 返回的时间戳相同

postgres=# SELECT
   transaction_timestamp(),
   statement_timestamp(),
   clock_timestamp(),
   clock_timestamp()\gx
-[ RECORD 1 ]---------+------------------------------
transaction_timestamp | 2021-06-17 18:06:45.891294+01
statement_timestamp   | 2021-06-17 18:06:45.891294+01
clock_timestamp       | 2021-06-17 18:06:45.891497+01
clock_timestamp       | 2021-06-17 18:06:45.891497+01

在显式事务中执行相同的查询

postgres=# BEGIN;
BEGIN

postgres=*# SELECT
   transaction_timestamp(),
   statement_timestamp(),
   clock_timestamp(),
   clock_timestamp()\gx
-[ RECORD 1 ]---------+------------------------------
transaction_timestamp | 2021-06-17 18:09:28.23169+01
statement_timestamp   | 2021-06-17 18:09:30.726471+01
clock_timestamp       | 2021-06-17 18:09:30.726765+01
clock_timestamp       | 2021-06-17 18:09:30.726766+01

分类

日期和时间系统函数

另请参阅

clock_timestamp()current_timestamptransaction_timestamp()

反馈

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