前文
一直在使用docker-compose启动的pg突然报了Invalid data directory,通过观察日志也只打印这几行,无从下手;
通过google定位到是postgresql.conf的文件权限异常导致,具体可参考:
- https://stackoverflow.com/questions/65092546/postgresql-invalid-data-directory-cant-open-pid-file-var-run-postgresql-10
- https://dba.stackexchange.com/questions/209329/psql-gives-invalid-data-directory-error
将postgresq.conf读写权限改为644即可。
解决
不过因为我是挂载的,所以先将docker-compose停止后,将挂载文件改为644(原先是600)后仍无效;查看发现是postgresql.conf挂载的文件内容为空了,重新将镜像里的默认文件配置导出一份后解决。并且原先挂载的数据并未丢失。
所以Invalid data directory,标识pg的数据目录未找到,这个问题是由pg.conf里面指定的,所以碰到这个问题,要从pg.conf里寻找对应的问题