ddd5e8f612607ba504af901e508c7d21646264cc
PostgreSQL.md
| ... | ... | @@ -545,7 +545,7 @@ PostgreSQL 会在某些情况下自动进行数据类型转换,以确保操作 |
| 545 | 545 | |
| 546 | 546 | ### 2.5 PostgreSQL 错误:`current transaction is aborted, commands ignored until end of transaction block` |
| 547 | 547 | |
| 548 | -1. **错误概述** |
|
| 548 | +**1. 错误概述** |
|
| 549 | 549 | |
| 550 | 550 | 当 PostgreSQL 事务中的某条 SQL 语句执行失败时,整个事务会进入 **中止状态**(Aborted)。所有后续的 SQL 命令都会被忽略,直到事务被回滚或关闭。此时任何后续操作都会触发以下错误:`current transaction is aborted, commands ignored until end of transaction block`。 |
| 551 | 551 | **核心问题**:事务未正确终止(未提交或回滚),导致数据库连接处于不可用状态。 |
| ... | ... | @@ -557,7 +557,8 @@ caused by: org.postgresql.util.PSQLException: 错误: 当前事务被终止, 事 |
| 557 | 557 | current transaction is aborted, commands ignored until end of transaction block |
| 558 | 558 | ``` |
| 559 | 559 | |
| 560 | -2. **事务块中语句错误的回滚行为:数据库对比** |
|
| 560 | + |
|
| 561 | +**2. 事务块中语句错误的回滚行为:数据库对比** |
|
| 561 | 562 | |
| 562 | 563 | **摘要**:在本文中,我们将学习事务块中语句错误的回滚行为,以及 PostgreSQL 和 Oracle 之间的区别。 |
| 563 | 564 | |
| ... | ... | @@ -653,7 +654,7 @@ SELECT * FROM DEMO; |
| 653 | 654 | 2 02-AUG-21 11.04.16.601105 PM +00:00 |
| 654 | 655 | ``` |
| 655 | 656 | |
| 656 | -3. **错误原因** |
|
| 657 | +**3. 错误原因** |
|
| 657 | 658 | |
| 658 | 659 | **3.1 直接原因** |
| 659 | 660 | |
| ... | ... | @@ -669,7 +670,7 @@ SELECT * FROM DEMO; |
| 669 | 670 | | 权限不足 | 普通用户尝试执行 `DROP TABLE` | |
| 670 | 671 | | 隐式事务未处理 | ORM 框架或客户端工具默认开启事务,但未捕获异常并回滚 | |
| 671 | 672 | |
| 672 | -4. **解决方法** |
|
| 673 | +**4. 解决方法** |
|
| 673 | 674 | |
| 674 | 675 | **1. 立即终止事务** |
| 675 | 676 | |
| ... | ... | @@ -713,7 +714,7 @@ ROLLBACK; -- 终止当前事务,清除错误状态 |
| 713 | 714 | GRANT INSERT, UPDATE ON table_name TO user_name; |
| 714 | 715 | ``` |
| 715 | 716 | |
| 716 | -5. **高级场景与优化** |
|
| 717 | +**5. 高级场景与优化** |
|
| 717 | 718 | |
| 718 | 719 | **1. 使用保存点(SAVEPOINT)** |
| 719 | 720 | |
| ... | ... | @@ -729,7 +730,7 @@ INSERT INTO table3 VALUES (1); |
| 729 | 730 | COMMIT; |
| 730 | 731 | ``` |
| 731 | 732 | |
| 732 | -6. **预防措施** |
|
| 733 | +**6. 预防措施** |
|
| 733 | 734 | |
| 734 | 735 | | 措施 | 说明 | |
| 735 | 736 | | ------------------ | ----------------------------------------------------------- | |