Gerenciando múltiplas versões do postgres no CentOS

Gerenciando múltiplas versões do postgres no CentOS

Eu tenho os seguintes pacotes instalados com 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

Mas não consigo controlá-los individualmente:

/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...

Por que eles estão tendo o mesmo pid?

Além disso, só tenho 1 arquivo de configuração, localizado em /var/lib/pgsql9/data/postgresql.conf.

Responder1

Primeiro vá para issopáginae baixe os pacotes apropriados para CentOS 6 (como você mencionou usando service e não systemd)

Após a configuração, você pode instalar ambos postgresql92-servere postgresql95-serveratravés do comando yum install postgresql92-server postgresql95-server.

Você deve iniciar manualmente os bancos de dados como a seguir service postgresql-9.2 initdbe service postgresql-9.5 initdb. Isso criará 2 diretórios de bancos de dados diferentes /var/lib/pgsqle inicializará um banco de dados dentro de cada subdiretório de dados 9.2.9.5

Feito isso, você pode iniciar cada instância com seu próprio comando de serviço service postgresql-9.2 starte service postgresql-9.5 start. Mas não os dois ao mesmo tempo, pois usam a mesma porta 5432.

A porta 9.2 pode ser editada /etc/init.d/postgresql-9.2com a variável PGPORT. A porta 9.5 pode ser editada /var/lib/pgsql/9.5/data/postgresql.confcom a variável porta. Portanto, você pode usar as duas instâncias ao mesmo tempo.

informação relacionada