Files
railwaysystem/qa-bootstrap/scripts/cleanup_guide.md
T

51 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RailwaySystem 融合测试数据库清理与回滚操作指引
> **安全警示与铁律约束**:
> 1. 本指引**仅作为操作手册供 DBA 手动查阅**,严禁集成到自动化脚本中静默触发。
> 2. **严禁自动执行 `DROP DATABASE`**,绝不自动终止其他数据库会话。
> 3. 操作前必须严格核对 `current_database()`,绝对禁止在 `training`、`iotlocks` 或历史 QA 库执行任何销毁操作。
---
## 一、初始化失败导致半完成状态的手动清理步骤
若在全新空库 `railwaysystem_fusion_qa_20261013` 初始化过程中遭遇网络中断或语法中断,导致对象处于半完成状态,推荐的手动回滚流程如下:
### 步骤 1:确认操作身份与目标数据库
由具备实例管理权限的 DBA 连接至默认维护库(例如 `template1` 或 `kingbase`),查询当前活动连接:
```sql
SELECT pid, usename, client_addr, state, query
FROM pg_stat_activity
WHERE datname = 'railwaysystem_fusion_qa_20261013';
```
### 步骤 2:确认无误后手动断开该测试库连接
确认连接均为当前测试会话后,方可手动终止连接(注意:仅限针对该特定目标库):
```sql
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'railwaysystem_fusion_qa_20261013'
AND pid <> pg_backend_pid();
```
### 步骤 3:安全销毁半完成测试库
```sql
-- 必须经过复核后手动执行
DROP DATABASE railwaysystem_fusion_qa_20261013;
```
---
## 二、测试周期结束后的资源归档与销毁建议
1. **测试日志与结果留痕**:
在销毁前,先导出测试期间生成的业务通行记录与授权记录日志(用于验收报告归档)。
2. **账号权限回收**:
```sql
REVOKE ALL ON DATABASE railwaysystem_fusion_qa_20261013 FROM fusion_bootstrap_user, fusion_app_user;
DROP USER IF EXISTS fusion_bootstrap_user;
DROP USER IF EXISTS fusion_app_user;
```
3. **数据库下线**:
重复上述手动销毁步骤即可。