在 CentOS 上管理多個 postgres 版本

在 CentOS 上管理多個 postgres 版本

我安裝了以下軟體包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.

答案1

首先去這個並下載適用於 CentOS 6 的適當軟體包(正如您提到的使用 service 而不是 systemd)

設定完成後,您可以透過command安裝postgresql92-server兩者。postgresql95-serveryum install postgresql92-server postgresql95-server

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

完成此操作後,您可以使用自己的服務命令service postgresql-9.2 start和啟動每個實例service postgresql-9.5 start。但不能同時使用,因為它們使用相同的 5432 連接埠。

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

相關內容