Centos

在 CentOS 上管理多個 postgres 版本

  • March 22, 2018

我安裝了以下軟體包yum

Installed Packages
postgresql92.x86_64                                                                                                  9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-libs.x86_64                                                                                             9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-server.x86_64                                                                                           9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-server-compat.x86_64                                                                                    9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql95.x86_64                                                                                                  9.5.10-1.77.amzn1                                                                                   @amzn-updates
postgresql95-libs.x86_64                                                                                             9.5.10-1.77.amzn1                                                                                   @amzn-updates
postgresql95-server.x86_64                                                                                           9.5.10-1.77.amzn1                                                                                   @amzn-updates

但我似乎無法單獨控制它們:

/home/ec2-user$ sudo service postgresql95 stop
Stopping postgresql95 service:                             [  OK  ]
/home/ec2-user$ sudo service postgresql95 status
postmaster (pid  43442) is running...
/home/ec2-user$ sudo service postgresql92 status
postmaster (pid  43442) is running...

為什麼他們有相同的pid?

另外我只有 1 個配置文件,位於/var/lib/pgsql9/data/postgresql.conf.

首先轉到此頁面並下載適用於 CentOS 6 的相應軟體包(正如您提到的使用服務而不是 systemd)

設置完成後,您可以同時安裝postgresql92-serverpostgresql95-server通過推薦yum install postgresql92-server postgresql95-server

您必須手動初始化數據庫,如下所示service postgresql-9.2 initdbservice postgresql-9.5 initdb. 這將在 中創建 2 個不同的數據庫目錄/var/lib/pgsql9.29.5在每個數據子目錄中初始化一個數據庫。

完成此操作後,您可以使用自己的服務命令service postgresql-9.2 startservice postgresql-9.5 start. 但不能同時使用相同的 5432 埠。

9.2 埠可通過/etc/init.d/postgresql-9.2變數 PGPORT 進行編輯 9.5 埠可通過/var/lib/pgsql/9.5/data/postgresql.conf變數埠進行編輯。因此,您可以同時使用這兩個實例。

引用自:https://serverfault.com/questions/903987