我的托管人升级了我的Ubuntu服务器,并且不再启动。我无法再访问数据的唯一方法是通过应急环境(SSH Shell)处于读取模式。
我正在崩溃的服务器上运行Postgres 9.1安装。我无法在救援环境中启动postgres服务器。我也没有使用 pg_dump 创建的dababase转储。
但是,我能够将整个 / var / lib / postgresql 文件夹复制到新计算机上。我在这台机器上安装了Postgres 9.1。后来我用旧文件替换了 / var / lib / postgresql 。
启动postgres服务器时,出现类似“控制文件中的校验和不正确”的信息。
我有任何方法可以不使用pg_dump 恢复数据库内容(因为我没有当前的转储,因此无法在有故障的计算机上运行它)。
答案 0 :(得分:3)
实际上,这是32位和64位之间的问题。我在32位Ubuntu上运行了另一台旧服务器。最初,我尝试在64位计算机上还原数据。使用32位计算机,只需复制postgres main 目录即可。最终,我能够登录数据库并创建转储。