你可能在日志文件中看到过如下所示信息。
ERROR: 25P02: current transaction is aborted, commands ignored until end of transaction block
复制
含义:当前事务被终止, 命令被忽略,直到事务结束。
原因:
在pg中,如果同一事务中如果某次数据库操作出错了,那么当前事务中这个操作以后的所有命令都将出错。
解决这种问题方法:
我们可以在应用中增加检测机制,当我们检测事务中有sql失败时,可以通过回滚/重新开启事务,提交/重新开启事务来解决。
或者,我们也可以直接设置事务自动提交。
模拟下这个现象。
testdb=> \set AUTOCOMMIT off
testdb=> select * from test1;
ERROR: relation "test1" does not exist
LINE 1: select * from test1;
^
testdb=> select * from aaa;
ERROR: current transaction is aborted, commands ignored until end of transaction block
testdb=> rollback;
ROLLBACK
testdb=> select * from aaa;
id | info | crt_time | c1
----+------+----------+----
(0 rows)
复制
文章转载自PostgreSQL运维技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
331次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
320次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
271次阅读
2025-04-07 12:14:29
postgresql+patroni+etcd高可用安装
necessary
147次阅读
2025-03-28 10:11:23
从 Oracle 到 PostgreSQL迁移成本评估揭秘
梧桐
140次阅读
2025-03-27 17:21:42
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
139次阅读
2025-04-14 15:58:34
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
139次阅读
2025-03-27 20:41:28
从Percona 发布Pro级产品得到的一些启发
库海无涯
118次阅读
2025-03-26 08:45:23
墨天轮PostgreSQL认证证书快递已发(2025年3月批)
墨天轮小教习
116次阅读
2025-04-03 11:43:25
PostgreSQL消息队列拓展——PGQ
chirpyli
115次阅读
2025-03-25 09:09:09