2013-03-14 48 views
1

所以啊標題說明了一切,我需要以某種方式獲得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 :)

感謝您的幫助!

+0

所以我安裝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

回答

2

您可以直接複製數據文件,但是您必須在目標服務器上使用相同的主版本 PG(例如8.4.x - 「8.4」是主要版本)。最簡單的方法來檢查版本是通過psql -V

在這種情況下升級過程,如果你想向上移動到9.x的版本是不是太難。您需要在新服務器上安裝8.4(通過軟件包或手動安裝),然後您需要使用pg_upgrade工具進行升級。 pg_upgrade附帶PG的最新版本,因此期望在此期間在服務器上安裝兩次。

您可以找到的文檔here

0

注意!在Gentoo,如果你的配置文件(postgresql.conf中+的pg_hba.conf)是位於/ var/lib中/ PostgreSQL的//數據/ pg_upgrade將失敗。新的安裝現在將配置文件存儲在/ etc/postgresql中。

遷移之前,請確保您從複製文件中的/ etc/postgresql- /到pg_upgrade將失敗的這個目錄。