点击底部校验项,按提示检查节点、连线、必填参数和引用元素。修改后重新保存或发布;确认发布成功后,再从 UX 发起一笔新流程验证。保存设计稿并不等于更新已发布的流程版本。
工作流有版本。先核对目标流程实例实际使用的版本,再检查本次修改是否已发布。用一笔新实例验证新配置;不要仅凭旧待办的效果判断新版本未生效。详见 流程发布与流程管理。
启用业务键唯一后,检查用于组合业务键的启动参数,以及同一业务是否已有进行中的实例。重复点击、按钮事件重复绑定也可能重复发起。业务编号、流程实例 ID 和业务键不一定相同,不要为绕开提示随意改变业务键。详见 从 UX 发起流程。
发起工作流时失败,未能创建可用的流程实例。服务日志包含以下错误,并指向流程实例扩展表的写入:
ERROR: value too long for type character varying(255)
INSERT INTO df_relation_process_inst_extend (...)
这表示本次写入的某个字符串值超过了数据库字段的 255 字符上限。工单记录的调用链为 ProcessInstanceServiceImpl.save → ProcessDelegateManager.saveRelationProcessInstExtend,失败发生在启动流程、保存实例扩展信息时。
仅凭这条错误和 INSERT 字段列表,不能确定具体超长字段。应结合完整日志、实际写入参数和数据库表结构核对,重点检查流程实例名称等内容的实际长度;不要仅凭该报错调整流程节点或反复重新发布。
针对这类实例名称、任务名称及操作日志内容长度不足的问题,工单给出的方案是扩展对应字段:流程实例名称、任务实例名称字段调整为 VARCHAR(1024),操作日志内容字段调整为 VARCHAR(2048)。
以下 SQL 由数据库管理员在工作流服务实际使用的数据库和 schema 中执行。执行前备份并核对现有字段类型与长度;已经达到或超过目标长度的字段应跳过,避免缩小已有容量。该语法适用于 PostgreSQL,其他数据库应按对应语法处理;变更窗口需评估表锁对运行中业务的影响。
ALTER TABLE df_relation_task_inst_extend
ALTER COLUMN proc_inst_display_name TYPE VARCHAR(1024);
ALTER TABLE df_relation_task_inst_extend
ALTER COLUMN task_inst_display_name TYPE VARCHAR(1024);
ALTER TABLE df_relation_process_inst_extend
ALTER COLUMN proc_inst_display_name TYPE VARCHAR(1024);
ALTER TABLE df_operation_log
ALTER COLUMN operation_content TYPE VARCHAR(2048);
其中,df_relation_process_inst_extend.proc_inst_display_name 与本工单日志中的失败表对应;任务扩展表的两个名称字段、操作日志字段是方案一并覆盖的相关字段,不代表本次日志已证明四个字段都发生超长。1024 和 2048 是本方案的目标值,仍应确认实际内容可以容纳,不能据此承诺任意长度的内容均可写入。
读回目标数据库中上述四个字段的类型与长度,确认变更已生效。
使用原报错的业务数据重新发起,确认流程实例创建成功,并到达预期首个节点。
涉及人工任务时,确认任务可以正常创建、展示与办理,相关操作日志可以写入;同时回归一笔普通名称的流程。
检查同一时段服务日志,确认不再出现对应的字段超长错误。如果仍报错,继续核对实际失败的表、字段与参数,不要继续盲目扩容。
来源:工单 issue_06737《工作流启动失败:流程实例扩展表字段超长(varchar(255))》,环境登记为 OP,日志时间为 2026-10-20 10:05:15。以上 SQL 来自工单已有解决方案。
工单尚未补齐具体超长字段及其值、工作流元素、发起入口和服务部署版本,也未记录 SQL 执行及变更后复测结果。因此本条记录为“已给出处理方案”,不能作为问题环境已修复或某个版本已完成修复的证明。
回到顶部
咨询热线
