QuestDB重启报错:无法创建sys.column_versions_purge_log表的排查
QuestDB启动报错“Could not create table sys.column_versions_purge_log”的原因及解决方案
问题原因
sys.column_versions_purge_log是QuestDB的内部系统表,报错是因为启动过程中元数据校验逻辑错误地将这个系统表名判定为保留名,导致无法创建必要的内部表。- 新安装无数据场景下触发该问题,通常是第一次启动时发生异常(比如进程意外终止、数据目录权限不足),造成元数据文件损坏,重启时系统重建内部表时触发了错误的保留名校验。
解决方案
应急修复(已验证有效)
删除数据目录./data下的所有表相关文件夹,清空损坏的元数据后,重新执行启动命令:
./bin/questdb.sh start -d ./data -t questdb
预防措施
- 确保数据目录
./data拥有充足的读写权限,避免进程因权限不足导致元数据写入失败。 - 停止QuestDB时使用官方推荐的停止命令,避免强制杀进程:
./bin/questdb.sh stop - 升级到QuestDB最新稳定版本,该问题大概率是特定版本的BUG,后续版本已修复内部系统表的命名校验逻辑。
内容的提问来源于stack exchange,提问作者gg-long
相关产品推荐
相关产品推荐

