据我了解 now() 在整个 PostgreSQL 事务期间返回同一时间? 但是如何获得实时时间呢?
另外,我感兴趣的是是否有任何配置参数来限制交易的持续时间,以便在此期限到期后交易会立即失败或以其他方式禁止后续查询?
最佳答案
使用clock_timestamp()
。
now()
是传统的 PostgreSQL 等同于 transaction_timestamp()
,它等同于 CURRENT_TIMESTAMP
。这些函数返回当前事务的开始时间。它们的值在交易过程中不会改变。
statement_timestamp()
返回从客户端接收到最新命令消息的时间。
clock_timestamp()
返回实际的当前时间,因此即使在单个 SQL 命令中其值也会发生变化。
有关详细信息,请参阅 documentation .
关于sql - 如何在 PostgreSQL 事务中获取实时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3363376/