在 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 的适当软件包(正如您提到的使用服务而不是 systemd)

一旦设置完毕,您可以通过推荐安装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 端口可以/etc/init.d/postgresql-9.2用变量 PGPORT 编辑,9.5 端口可以用变量 port 编辑/var/lib/pgsql/9.5/data/postgresql.conf。因此,您可以同时使用这两个实例。

相关内容