2013-09-29 202 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