2013-09-29 200 views
3

我在開始的Postgres,你可以看到如下的麻煩:Postgres的版本不兼容

$ pg_ctl -D /usr/local/var/postgres start 
server starting 
FATAL: database files are incompatible with server 
DETAIL: The data directory was initialized by PostgreSQL version 9.1, which is not compatible with this version 9.3.0. 

任何人都知道如何使版本兼容?

+0

版本不兼容的恢復。期。從9.1升級到9.2或9.3 **需要**轉儲+恢復。您將必須運行9.1安裝來執行轉儲。所以你必須先將二進制文件降級到9.1。 (這可以通過使用兩個版本並行運行,在不同的數據目錄中,使用不同的端口號等來完成) – wildplasser

+1

請閱讀:http://www.postgresql.org/docs/current/static/upgrading.html –

+0

Postgres如此遲鈍。爲什麼他們不斷更改他們的數據庫格式?他們至少可以做的是使新版本向後兼容,或者提供一個實用程序升級而不必同時運行兩個服務器。 – Chloe

回答

1

你有兩個選擇:

  1. 運行9.1版本,轉儲數據庫,並使用9.3
  2. http://www.postgresql.org/docs/9.3/static/pgupgrade.html
+0

你如何運行一個特定的版本(由自制軟件安裝)? – Arta

+0

你可以同時運行多個postgres運行不同的版本。他們只需要指向不同的數據目錄並擁有不同的監聽端口。另一種方法是在安裝9.3之前卸載9.1。 –

+2

這不會回答如何做到這一點。我找到了某個地方,答案是:$ brew switch postgresql Arta