容器化部署的单机10.4版本pg,运维人员把docker重启后,pg一直无法启动;执行pg_resetwal没有加时间点启动后,发现数据表及丢失了;重新创建表时,提示表已存在,但是pg_tables系统表中未查询到所创建表的记录;还有部分表在information_schema.tables系统表中能查询到数据大小,但是直接查询表没有记录。
实际上这个问题可以从两个部分看
1 在你使用pg_resetwal 不指定时间的情况下,并启动数据库发现数据丢失,是由于 WAL日志没有正确应用到数据库中造成的,数据库是通过WAL来保证数据的一致性,那么你的WAL 没有应用对,那么必然数据丢失。
但比较遗憾的是,基于操作这对于数据库这块的基础知识没有,那么在没有备份的情况下,恢复数据库的可能性很低。
2 不建议在PG数据库使用容器,基于数据库实现模式不同,MySQL可以勉强进行容器化,PG 不建议
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30