我在我的机器上安装了postgresql 9.1(Ubuntu)。我需要另一个postgresql服务器,它将在旧服务器旁边运行。确切的版本并不重要,但我正在考虑使用9.2版本。我怎么能正确安装和运行另一个postgresql版本,而无需拧紧旧版本(如升级)。所以这些版本将在不同的端口上独立运行。例如,5432上的旧版本和5433上的新版本。
我需要这个的原因是两个OpenERP版本的数据库。如果我在单个postgresql端口上运行两个OpenERP服务器(具有不同的版本),它会崩溃,因为新的OpenERP版本检测旧版本数据库并尝试运行它,但它崩溃,因为它使用其他方案。
PS或者我可以在两个端口上运行相同的postgresql服务器?
更新 到目前为止我试过这个:
/usr/lib/postgresql/9.1/bin/pg_ctl initdb -D main2
它创建了新的集群。我在新的集群目录postgresql.conf文件中将端口更改为5433。然后跑了这个:
/usr/lib/postgresql/9.1/bin/pg_ctl -D main2 -l logfile start
我得到了回应server starting
。但是当我尝试使用以下命令输入新集群的模板数据库时:psql template1 -p 5433
我收到了这个错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5433"?
此外,当我尝试停止服务器时:
/usr/lib/postgresql/9.1/bin/pg_ctl -D main2 -l logfile start
我收到此错误:
pg_ctl: PID file "main2/postmaster.pid" does not exist
Is server running?
所以我不明白服务器是否正在运行以及我在这里缺少什么?
更新
发现了什么问题。愚蠢的我。我没注意到当我在.conf文件中更改端口时,该行已被注释。所以实际上我第一次没有改变任何东西,但我想我做了,它使用默认的5432端口。
查看相关帖子superuser.com/q/764378/167160
—
Craig Ringer 2014年
@CraigRinger说明我的帖子..是的,它与上下文有关,但不是实际问题。
—
Andrius 2014年
是的,只是确保其他人可以找到它,因为它是相关的。我应该说,抱歉。
—
Craig Ringer 2014年