所以标题说明了一切,我需要以某种方式让DBs从源服务器到新服务器,但是踢球者是老服务器正在崩溃: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:)
提前感谢您的帮助!
答案 0 :(得分:2)
您可以直接复制数据文件,但必须在目标服务器上使用相同的主要版本的PG(例如8.4.x - “8.4”是主要版本)。检查版本的最简单方法是psql -V
。
如果要升级到9.x版本,在这种情况下升级过程并不太难。您需要在新服务器上安装8.4(通过包或手工安装),然后您将需要使用pg_upgrade
工具进行升级。 pg_upgrade
附带最新版本的PG,因此期望在此期间服务器上安装两个。
您可以找到文档here。
答案 1 :(得分:0)
注意!在Gentoo上,如果您的配置文件(postgresql.conf + pg_hba.conf)位于/ var / lib / postgresql // data /中的 NOT ,则pg_upgrade将失败。新安装正在/ etc / postgresql-中存储配置文件。
在迁移之前,请确保将文件从/ etc / postgresql- /复制到pg_upgrade的此目录将失败。