Postgres docs状态
PostgreSQL实际上将每个SQL语句都视为在事务中执行。如果您不发出开始命令,则每个单独的语句都有一个隐式的BEGIN和(如果成功)COMMIT环绕。由BEGIN和COMMIT环绕的一组语句有时被称为事务块。
当我设置log_statement='all'
时(根据How to log PostgreSQL queries?),SELECT
语句日志没有 Package 在BEGIN
和COMMIT
中。另一方面,INSERT
日志 Package 在BEGIN
和COMMIT
中。
是否从日志中排除隐式事务?
相关:Does Postgresql implicitly wrap select statements in transaction?
1条答案
按热度按时间jv4diomz1#
Postgres记录隐式事务吗?
没有。
日志显示来自客户端的显式SQL语句,而独立语句周围的隐式事务不受语句控制,因此BEGIN和COMMIT不会出现在日志中。