You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes删除PV/PVC后数据仍留存引发PostgreSQL版本兼容问题

问题原因及解决办法

核心原因

你遇到的问题本质是hostPath类型PersistentVolume的回收机制未清理本地实际数据:

  • 尽管你删除了Deployment、PV、PVC等K8s资源,但你的PV采用hostPath: "/mnt/data"配置,K8s对hostPath类型的PV,即便设置了persistentVolumeReclaimPolicy: Delete,也仅会删除PV这个K8s对象,不会清理节点上/mnt/data目录内的真实文件。
  • 之前使用PostgreSQL 15启动时,已在/mnt/data下生成了v15版本的数据库初始化数据,切换到v14后,容器启动时会读取该目录的旧数据,而PostgreSQL不支持高版本数据直接降级到低版本,因此触发兼容性报错。

额外配置问题

你的PVC配置中requests.storage: 2不规范,需添加存储单位(如2Mi或2Gi),否则可能导致PVC绑定失败(此为次要问题,非当前报错直接原因)。

解决步骤

  1. 登录到K8s节点(hostPath数据存储在节点本地),清理旧数据:
sudo rm -rf /mnt/data/*
  1. 重新创建Deployment、PV、PVC资源,此时PostgreSQL 14会重新初始化干净的数据目录,即可正常启动。

内容的提问来源于stack exchange,提问作者Ron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:35:26