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_timestamp, transaction_timestamp()

反馈

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