Postgresql 如何在启动时显式启动一个版本的postgres?

Postgresql 如何在启动时显式启动一个版本的postgres?,postgresql,ubuntu-12.04,Postgresql,Ubuntu 12.04,我管理一台旧的ubuntu服务器12.04,上面有postgresql 9.1 我成功地为我们想要使用的新应用程序安装了postgresql 9.6 我面临的问题是出于某种原因 service postgresql start * Starting PostgreSQL 9.1 database server

我管理一台旧的ubuntu服务器12.04,上面有postgresql 9.1

我成功地为我们想要使用的新应用程序安装了postgresql 9.6

我面临的问题是出于某种原因

service postgresql start
* Starting PostgreSQL 9.1 database server                                                                                                       
[ OK ] 
* Starting PostgreSQL 9.6 database server 
[ OK ]
启动9.1服务器和9.6服务器

我正在寻找一种只在默认端口上启动9.6服务器的方法

我已经看过了/etc/ini.d/postgresql。 这个摘录看起来可能是关键

# versions can be specified explicitly
if [ -n "$2" ]; then
    versions="$2 $3 $4 $5 $6 $7 $8 $9"
else
    get_versions
fi
看起来我只需要在命令行上传入版本

service postgresql start 9.6
是的。。。成功了


所以我的问题是。。。如何在重新启动时自动执行此操作?

一个解决方案是删除9.1

apt-get --purge remove postgresql-9.1
并将9.6的配置文件中的端口更改为5432

su postgres
psql

psql (10.3 (Ubuntu 10.3-1.pgdg14.04+1), server 9.6.8)
Type "help" for help.

postgres=# 
    SHOW config_file;
config_file                
------------------------------------------
/etc/postgresql/9.6/main/postgresql.conf
(1 row)
    \quit
exit
vi /etc/postgresql/9.6/main/postgresql.conf
    /port
将端口更改为5432,然后写入并关闭配置文件

    :wq

service postgresql stop
service postgresql start

如果您有多个postgresql实例,则可以通过以下命令仅启动一个服务:

systemctl start postgresql@<version>-main
或者使用服务命令

service postgresql@13-main start

不要给你的问题添加答案。添加答案谢谢,完成,谢谢对答案进行编辑清理。干杯
service postgresql@13-main start