我已经在ubuntu上成功从9.2升级到9.3。但是,
/etc/init.d/postgresql start
启动9.2和9.3
虽然上面的命令可以接受版本号并成功启动和停止每个版本号,但是我可以使用任何方法使该命令仅启动9.3。
原因是,我现在无法重启系统,但我担心重启时两台服务器都可以启动。
我的短期解决方案是调整端口号以使我的应用程序使用9.3数据库。但是,我想了解更多永久性和强大的解决方案。
提前致谢,
史蒂夫
答案 0 :(得分:1)
Ubuntu uses pg_wrapper
to manage PostgreSQL installs。请参阅the Ubuntu PostgreSQL wiki页面。
如果您希望实际销毁旧数据,则需要pg_dropcluster
9.2群集。或者卸载PostgreSQL 9.2。或者修改控制Pg是否启动的/etc/postgresql/9.2/
中的配置文件(现在不记得名称)。它被称为start.conf
或pg_ctl.conf
之类的东西。
您可能还想要反转已配置的端口,以便新的9.3在5432上运行,而未按默认启动9.2在5433上运行。这是在postgresql.conf中。
答案 1 :(得分:0)
Steve Harman的回应对我来说也很完美:
感谢您的回复。在/etc/postgresql/9.2/main/目录中,有start.conf。如果将该文件中的单行从“auto”更改为“disabled”,则/etc/init.d/postgresql start将不会启动9.2。 - 史蒂夫哈曼1月1日16:55
另一方面,只有fyi,命令输出是服务器的两个版本都在启动(这不是真的,来自服务启动脚本)
user@server:/etc/postgresql/9.3/main$ sudo service postgresql start
* Starting PostgreSQL 9.1 database server
...done.
* Starting PostgreSQL 9.3 database server
...done.