我的数据库位于一台主板坏了的计算机的硬盘上。硬盘完好无损。
我正在尝试 XCOPY 数据目录并覆盖另一台计算机上的 Postgres 8.4 数据目录的内容。
我收到“拒绝访问”的提示。我已确认 Postgres 服务已停止。目标计算机有 2 个用户帐户,其中一个是 Postgres 安装创建的“Postgres”。我尝试使用这两个帐户登录,结果相似。
任何想法甚至是替代方法都值得赞赏。
答案1
如果我理解正确的话,您想将PGDATA
目录从一个系统克隆到另一个系统,其中目标系统已经有一个PGDATA
目录(包含一些内容)。
在这种情况下,我建议如下:
- 停止 Postgres(在两个系统上 - 尽管在你的情况下只有目标很重要)
- 移动/重命名目标系统上的目录,使其不妨碍操作(复制完成后,
您不希望目标目录中的垃圾残留在周围)PGDATA
PGDATA
将目录从源机器复制到目标机器- 调整任何需要调整的配置文件,并在目标上启动 Postgres。
这也可以避免在旧数据目录中保持文件打开的进程出现任何问题,因为它已被移开。
关于从一个主机复制到另一个主机,通常PGDATA
需要注意以下几点:确保您使用的是相同版本的 Postgres(或至少是兼容的版本),为相同的架构/使用相同的选项构建,所有扩展都匹配,等等...