迁移的Postgres DB当源Postgres的服务器脱机
问题描述:
所以啊标题说明了一切,我需要以某种方式获得DB是源服务器到新的服务器,但踢球是旧服务器崩溃:P和有什么办法可以将它全部移到新的服务器并导入它?迁移的Postgres DB当源Postgres的服务器脱机
旧的服务器只是拒绝运行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 :)
感谢您的帮助!
答
您可以直接复制数据文件,但是您必须在目标服务器上使用相同的主版本 PG(例如8.4.x - “8.4”是主要版本)。最简单的方法来检查版本是通过psql -V
。
在这种情况下升级过程,如果你想向上移动到9.x的版本是不是太难。您需要在新服务器上安装8.4(通过软件包或手动安装),然后您需要使用pg_upgrade
工具进行升级。 pg_upgrade
附带PG的最新版本,因此期望在此期间在服务器上安装两次。
您可以找到的文档here。
答
注意!在Gentoo,如果你的配置文件(postgresql.conf中+的pg_hba.conf)是不位于/ var/lib中/ PostgreSQL的//数据/ pg_upgrade将失败。新的安装现在将配置文件存储在/ etc/postgresql中。
迁移之前,请确保您从复制文件中的/ etc/postgresql- /到pg_upgrade将失败的这个目录。
所以我安装8.4迁移的数据文件夹上的新的服务器,而现在的8.4 PostgreSQL将无法启动不知道是怎么回事。并且为了使用'pg_upgrade',服务器必须是可运行的。我得到的错误是'不DATA_DIR set',我查了'/等/ conf.d/PostgreSQL的-8.4'文件和PGDATA vairable设置'#PostgreSQL的数据库目录 PGDATA =“/无功/ lib中/ PostgreSQL的/8.4/data“' – Msquared86 2013-03-14 17:33:24