我可以在同一台机器上运行Postgres 8.4和Postgres 9吗?

时间:2011-06-23 14:51:23

标签: postgresql

是否可以同时运行Postgres 8.4和9(两次安装)?

谢谢

6 个答案:

答案 0 :(得分:6)

简答:是的

答案很长:

您没有指定自己的操作系统,因此很难说如何操作。例如,在Debian / Ubuntu中,你可以从包(postgresql-8.4postgresql-9.0)安装第二个版本,一切都开箱即用(感谢postgresql-common)。在其他系统上,您可能需要使用“低级”命令(例如initdbpg_ctl)手动执行此操作。确保第二次安装(数据库集群)使用不同的端口(例如5433)而不是相同的数据目录。

答案 1 :(得分:2)

是的,只要满足以下三个先决条件:

  1. PostgreSQL正在侦听一个独特的IP /端口(请查看pgbouncer,您可以将PostgreSQL的两个副本隐藏在单个IP /端口后面,并通过减少活动连接数来减少内存占用量)
  2. 您有足够的SYSV共享内存(这通常是限制因素)
  3. 您使用不同的PGDATA目录。
  4. 我不建议使用pgbouncer

答案 2 :(得分:2)

在Windows上,您无需执行任何操作,因为安装程序会自动创建唯一的数据目录并检测现有安装并自动调整端口。

例如 - 您的第一次安装将在5432上侦听,第二次安装将在5433上侦听,因为安装程序会为您配置。

答案 3 :(得分:1)

你总是可以,问题是同时安装两个版本会有多难,这取决于你的操作系统。例如,在RedHat Linux派生系统中,这很难做到。 PostgreSQL RPM软件包只能在任何时候安装一个版本。有时候唯一合理的方法就是从你想要安装的第二个版本的源码构建你自己的PostgreSQL,如果你以前从未这样做过,这是一个有趣的冒险。

在Debian Linux上,两个版本同时非常简单。我相信它在Windows上也很简单,但它可能取决于您使用的是哪种安装程序。

一旦安装了两个不同版本的数据库,只有这样你才能担心其他人正在谈论的事情:让每个数据库在自己的端口上运行并拥有自己的安装目录。与一次安装两个版本所需的工作相比,这些通常是微不足道的。

答案 4 :(得分:0)

是的,您只需将数据目录放在不同的位置。

答案 5 :(得分:0)

是的,你可以。您需要在不同的端口上运行它们并使用不同的数据目录。

port和data目录都可以在postgresql.conf中设置。

我相信其他几种指定数据目录的方法,包括使用PGDATA环境变量。