Administrar múltiples versiones de Postgres en CentOS

Administrar múltiples versiones de Postgres en CentOS

Tengo los siguientes paquetes instalados con 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

Pero parece que no puedo controlarlos 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 qué tienen el mismo pid?

Además solo tengo 1 archivo de configuración, ubicado en /var/lib/pgsql9/data/postgresql.conf.

Respuesta1

primero ve a estopáginay descargue los paquetes apropiados para CentOS 6 (como mencionó usando service y no systemd)

Una vez configurado, puede instalar ambos postgresql92-servery postgresql95-servermediante el comando yum install postgresql92-server postgresql95-server.

Debe iniciar manualmente las bases de datos como las siguientes service postgresql-9.2 initdby service postgresql-9.5 initdb. Eso creará 2 directorios de bases de datos diferentes /var/lib/pgsqle inicializará una base de datos dentro de cada subdirectorio de datos 9.2.9.5

Una vez hecho esto, puede iniciar cada instancia con su propio comando de servicio service postgresql-9.2 starty service postgresql-9.5 start. Pero no ambos al mismo tiempo, ya que utilizan el mismo puerto 5432.

El puerto 9.2 se puede editar /etc/init.d/postgresql-9.2con el puerto variable PGPORT. El puerto 9.5 se puede editar /var/lib/pgsql/9.5/data/postgresql.confcon el puerto variable. Entonces puedes usar ambas instancias al mismo tiempo.

información relacionada