postgresql Postgres记录隐式事务吗?

ckx4rj1h  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(1)|浏览(214)

Postgres docs状态
PostgreSQL实际上将每个SQL语句都视为在事务中执行。如果您不发出开始命令,则每个单独的语句都有一个隐式的BEGIN和(如果成功)COMMIT环绕。由BEGIN和COMMIT环绕的一组语句有时被称为事务块。
当我设置log_statement='all'时(根据How to log PostgreSQL queries?),SELECT语句日志没有 Package 在BEGINCOMMIT中。另一方面,INSERT日志 Package 在BEGINCOMMIT中。
是否从日志中排除隐式事务?
相关:Does Postgresql implicitly wrap select statements in transaction?

jv4diomz

jv4diomz1#

Postgres记录隐式事务吗?
没有。
日志显示来自客户端的显式SQL语句,而独立语句周围的隐式事务不受语句控制,因此BEGIN和COMMIT不会出现在日志中。

相关问题