У меня установлены следующие пакеты 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?
Также у меня есть только один файл конфигурации, расположенный в /var/lib/pgsql9/data/postgresql.conf
.
решение1
Сначала перейдите к этомустраницаи загрузите соответствующие пакеты для 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
с помощью переменной port. Таким образом, вы можете использовать оба экземпляра одновременно.