1

所以是的,标题说明了一切,我需要以某种方式将数据库从源服务器转移到新服务器,但关键是旧服务器正在分崩离析:P 有没有办法可以将它全部移动到新服务器服务器并导入它?

旧服务器只是拒绝再运行 Postgres,我几乎可以肯定旧服务器上运行的版本是 8.4,而新服务器运行的是 9.2,这会导致问题吗?

这是我尝试在旧服务器上启动 Postgres 时得到的,

/etc/init.d/postgresql-8.4 start
* Use of the opts variable is deprecated and will be
* removed in the future.
* Please use extra_commands, extra_started_commands or extra_stopped_commands.
* Starting PostgreSQL ...
could not start server   [ !! ]
* ERROR: postgresql-8.4 failed to start

我也在运行gentoo :)

在此先感谢您的帮助!

4

2 回答 2

2

您可以直接复制数据文件,但您必须在目标服务器上使用相同的主要版本的 PG(例如 8.4.x - “8.4”是主要版本)。检查版本的最简单方法是通过psql -V.

如果您想升级到 9.x 版本,这种情况下的升级过程并不难。您需要在新服务器上安装 8.4(通过软件包或手动),然后您需要使用该pg_upgrade工具进行升级。 pg_upgrade附带最新版本的 PG,因此预计在此期间在服务器上安装两个。

您可以在此处找到文档。

于 2013-03-14T15:22:22.440 回答
0

注意力 !在 Gentoo 上,如果您的配置文件(postgresql.conf + pg_hba.conf)不在/var/lib/postgresql//data/ 中,pg_upgrade 将失败。新安装现在将配置文件存储在 /etc/postgresql- 中。

在迁移之前,请确保将文件从 /etc/postgresql-/ 复制到 pg_upgrade 的这个目录会失败。

于 2013-03-16T01:00:04.757 回答