【发布时间】:2023-01-24 23:09:07
【问题描述】:
PostgreSQL 实际上将每个 SQL 语句都视为在一个事务中执行。如果您不发出 BEGIN 命令,那么每个单独的语句都有一个隐式的 BEGIN 和(如果成功的话)环绕它的 COMMIT。由 BEGIN 和 COMMIT 包围的一组语句有时称为事务块。
当我设置
log_statement='all'(根据How to log PostgreSQL queries?)时,SELECT语句未包含在BEGIN和COMMIT中。另一方面,INSERTs 被包裹在BEGIN和COMMIT中。日志中是否排除了隐式事务?
相关:Does Postgresql implicitly wrap select statements in transaction?
【问题讨论】:
标签: sql database postgresql logging transactions