Назад | Перейти на главную страницу

Управление несколькими версиями postgres в CentOS

У меня установлены следующие пакеты с 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...

Почему у них одинаковый идентификатор?

Также у меня есть только 1 файл конфигурации, расположенный в /var/lib/pgsql9/data/postgresql.conf.

Сначала перейдите к этому страница и загрузите соответствующие пакеты для CentOS 6 (как вы упомянули, используя service, а не systemd)

После настройки вы можете установить оба postgresql92-server и postgresql95-server через одобрение yum install postgresql92-server postgresql95-server.

Вам необходимо вручную запустить базы данных, как показано ниже service postgresql-9.2 initdb и service postgresql-9.5 initdb. Это создаст 2 разных каталога баз данных в /var/lib/pgsql, 9.2 и 9.5 и инициализировать базу данных внутри каждого подкаталога данных.

Как только это будет сделано, вы можете запускать каждый экземпляр с собственной служебной командой. service postgresql-9.2 start и service postgresql-9.5 start. Но не оба одновременно, поскольку они используют один и тот же порт 5432.

9.2 порт можно редактировать в /etc/init.d/postgresql-9.2 с переменной PGPORT 9.5 порт можно редактировать в /var/lib/pgsql/9.5/data/postgresql.conf с переменным портом. Таким образом, вы можете использовать оба экземпляра одновременно.