我安装了多个PostgreSQL服务器。 如何禁用旧服务器的自动启动?

我正在Oracle VirtualBox上运行Ubuntu 12.04。 几个月前,我在我的机器上安装了PostgreSQL服务器版本9.1。 就在最近,我了解到PostgreSQL服务器9.3支持JSON数据types,所以我决定升级。

我按照这里的说明升级到了9.3

https://wiki.postgresql.org/wiki/Apt

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get upgrade sudo apt-get install postgresql-9.3 pgadmin3 

在我的机器上安装了服务器版本9.3和版本9.1。 重新启动后运行pg_lsclusters可以:

 Ver Cluster Port Status Owner Data directory Log file 9.1 main 5433 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log 9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log 

然后,我做了以下升级后维护:我从我的9.1服务器与pg_dump导出几个表,并将它们恢复到我的9.3服务器。 然后我在/etc/postgresql/$VERSION/main/postgresql.conf打开了我的configuration文件9.1和9.3,并交换了他们的端口号,这样我的psql客户端默认连接到新的服务器。

我的问题是这个。 9.1和9.3都在启动时启动。 我想阻止9.1自动启动,因为它大概占我系统内存的5%。 我该怎么做?

咨询的资源:

启动服务器的PostgreSQL文档页面指向标准的init.d目录。 我的init.d目录包含脚本postgresql 。 它看起来像这个脚本可以configuration为只启动一个版本,但所需的更改对我来说并不明显。

http://www.postgresql.org/docs/9.1/interactive/server-start.html

下面的post是非常丰富的,但它显示了如何删除群集,而不是如何禁用启动。 我想离开我的旧群集安装,因为我可能想从中检索更多的信息。

我想我已经安装了多个postgresql服务器,我如何识别和删除“额外”的?

一旦系统加载完成,我已经考虑编写一个脚本来终止服务器,但这似乎效率低下。 有一个更清洁的方式来禁用启动版本9.1?

对于较less的黑客,编辑/etc/postgresql/9.1/main/start.conf并replaceauto manualdisabled

Debian创build了几个脚本(如pg_ *集群实用程序)来简化在单个服务器上运行PostgreSQL的多个版本或安装,这就是为什么在postgresql.org上没有logging。

我不确定PostgreSQL自带的.deb软件包是否使用与Debian相同的启动机制,但是看看我的软件包,如果你创build了/etc/init.d/postgresql-9.1 (即使它是一个空文件),那么/etc/init.d/postgresql会假设你想单独控制这个版本,默认情况下不会启动它。 你仍然可以启动它

 service postgresql start 9.1 

覆盖版本search。