【发布时间】:2022-08-03 05:06:06
【问题描述】:
由于我家的雷击,我的旧电脑最近被炸了。但我买了一个新的,令我高兴的是,那台旧机器上的 C: SSD 文件系统在我将它移植到新机器后仍在工作,尽管现在作为 D: 驱动器。
现在我正准备安装 PostgreSQL,并希望能够访问位于 D: 驱动器上的旧数据库。我很困惑如何进行。
- 似乎没有任何方法可以告诉正在运行的 PostgreSQL 实例,“嘿,在 D: 驱动器上看看那里 - 那是你可以使用的数据库。有一个 CREATE 数据库和一个 DROP 数据库,但不是“使用此数据库”。我应该说我在旧机器上运行版本 14,当然可以在升级之前在新机器上再次安装相同的数据库,如果有办法添加到它的目录。
- 没有数据库转储/转换实用程序可以在不通过正在运行的 PostgreSQL 服务器实例的情况下工作,所以我看不出有什么办法可以将旧数据转换为其专有格式并将其重新加载到新的 PostgreSQl 实例。
- 我唯一想到的就是安装一个尽可能接近旧版本 14 的版本,然后在新的地方(可能在 D: 驱动器上)创建第二个数据库,然后停止 PostgreSQL 服务器实例,复制旧数据覆盖新数据(包括所有子目录),然后重新启动服务器并希望最好。听起来充其量只是一个 50-50 的提议。
其他人有任何其他想法/想法吗?
-
1)你是如何在安装的机器上安装 Postgres 的? 2) 你打算如何安装新的 Postgres? 2) 将 Postgres 数据目录复制到 C:\\. 4) 您可以使用
pg_ctl -D <data_dir>per pg_ctl 指向所需的数据目录。这假定 conf 文件位于该目录中。
标签: sql postgresql