sql - 如何在 PostgreSQL 事务中获取实时?

标签 sql database postgresql transactions

据我了解 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/

相关文章:

放在 ColdFusion CFC 中时 SQL 语句不起作用

mysql - VS2017 MYSQL SQLDataSource - 对象引用未设置为对象的实例

php - 在 mySQL 上连接 3 个表

mysql - 根据计数结果选择不同的数据

mysql - 尝试保存小数时始终保存 999.999999

python - 如何使用 Sqlalchemy 根据计算出的 json 值选择 Postgresql 记录?

javascript - Sequelize 无效值 Symbol(ne)

mysql - 在单个查询中返回多个表 ID 以查看它们是否存在?

mysql - 不使用窗函数计算组的总和

python - Django : How to manage database specific code?