我使用的是 Windows 10。最近系统出现故障,需要重新安装 Windows 和大部分软件。我还必须重新安装 PostGres。我没有机会进行任何备份,但我的数据目录位于单独的加密驱动器上,仍然可以访问。数据文件非常大,因为我正在处理来自教育机构的大量数据。
Postgres 重新安装成功。我测试了一下,然后停止了服务,将 postgres ImagePath 的注册表项更新为我想要使用的数据目录,并在 Windows 服务面板中验证了更改。
但是:添加更新的数据目录后,我无法启动 postgres 服务,尝试通过 phpPgAdmin 登录失败,并且相关数据目录中的 Postgres 日志未更新。我重试了这些步骤十几次,以确保没有犯任何错误。
如果我将数据目录改回默认值,一切都正常。
我使用的是 PostGres 9.4,与我之前使用的版本相同。我也尝试了较新版本的 postGres。我这里遗漏了什么?我无法访问我最初使用的所有数据库 sql 文件,因此我真的需要再次访问此数据目录!
提前感谢您提供的任何建议。
更新:
进展!我没想到要检查事件查看器。它揭示了一些错误,除了一个之外,我已解决所有错误:
严重错误:数据库文件与服务器不兼容 详细信息:数据库集群使用 PG_CONTROL_VERSION 1100 初始化,但服务器使用 PG_CONTROL_VERSION 942 进行编译。提示:看起来您需要 initdb。
当我重新安装 PG 时,我抓取了 v11 并尝试连接到我的旧数据目录。它失败了,所以我卸载了 v11 并安装了 v9.4。当我尝试了错误的版本时,它一定更新了某些内容。当它要求我 initdb 时,我不确定它在说什么。