作者:瀚高PG实验室 (Highgo PG Lab)- 丹心明月
准备事务是两阶段提交功能的一部分。事务分两阶段提交而不是一步完成,这允许多个数据库同步提交。
首先,检查max_prepared_transactions参数的设置。如果该值为0,则说明没有任何预先存在的准备事务
show max_prepared_transactions
如果设置大于0,可以看下是否有准备事务:
select * from pg_prepared_xacts;
移除一个准备事务也被称为“解决未决事务”。事务卡在提交和终止之间。数据库或者事务管理器崩溃后,使得事务被遗留在两阶段提交的两步之间。
如果提交更改,执行:
commit prepared 'gid';
如果回滚事务,执行:
rollback prepared 'prep1';