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

2.0 KiB
Raw Blame History

RailwaySystem 融合测试数据库清理与回滚操作指引

安全警示与铁律约束:

  1. 本指引仅作为操作手册供 DBA 手动查阅,严禁集成到自动化脚本中静默触发。
  2. 严禁自动执行 DROP DATABASE,绝不自动终止其他数据库会话。
  3. 操作前必须严格核对 current_database(),绝对禁止在 training、iotlocks 或历史 QA 库执行任何销毁操作。

一、初始化失败导致半完成状态的手动清理步骤

若在全新空库 railwaysystem_fusion_qa_20261013 初始化过程中遭遇网络中断或语法中断,导致对象处于半完成状态,推荐的手动回滚流程如下:

步骤 1:确认操作身份与目标数据库

由具备实例管理权限的 DBA 连接至默认维护库(例如 template1 或 kingbase),查询当前活动连接:

SELECT pid, usename, client_addr, state, query 
FROM pg_stat_activity 
WHERE datname = 'railwaysystem_fusion_qa_20261013';

步骤 2:确认无误后手动断开该测试库连接

确认连接均为当前测试会话后,方可手动终止连接(注意:仅限针对该特定目标库):

SELECT pg_terminate_backend(pid) 
FROM pg_stat_activity 
WHERE datname = 'railwaysystem_fusion_qa_20261013' 
  AND pid <> pg_backend_pid();

步骤 3:安全销毁半完成测试库

-- 必须经过复核后手动执行
DROP DATABASE railwaysystem_fusion_qa_20261013;

二、测试周期结束后的资源归档与销毁建议

  1. 测试日志与结果留痕: 在销毁前,先导出测试期间生成的业务通行记录与授权记录日志(用于验收报告归档)。
  2. 账号权限回收:
    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. 数据库下线: 重复上述手动销毁步骤即可。