Instalé dos servidores PostgreSQL en mi computadora. Uno es 9.1 y el otro es 9.3. Necesito ambos servidores instalados.
Sin embargo, cuando ejecuto pg_dump, aparece un error de desajuste de versión:
server version: 9.3.6; pg_dump version: 9.1.15
pg_dump: aborting because of server version mismatch
¿Cómo puedo resolverlo? (No puedo desinstalar ninguna de las versiones: instalé la 9.1 primero y la 9.3 muchos meses después, necesito instalar ambos servidores de bases de datos).
postgresql
Luis Masuelli
fuente
fuente

pg_dump. Ambos están instalados, pero solo uno es el predeterminado. Consulteupdate-alternativeslas rutas odpkg -Lel paquete de cliente postgresql para ver dónde están. No tengo acceso inmediato a un cuadro de Ubuntu para mostrarte yo mismo.PATHvariable de entorno con la que se ejecuta la aplicación, entonces.Respuestas:
TL; DR : si ambas instancias de PostgreSQL son administradas por los paquetes de Ubuntu (como deberían), simplemente use la
--clusteropción para seleccionar la instancia de PostgreSQL para hacer una copia de seguridad, y elegirá automáticamente la versión correspondiente de pg_dump:pg_dump --cluster 9.1/main [other pg_dump options]o
pg_dump --cluster 9.3/main [other pg_dump options].maines solo un valor predeterminado, ejecutepg_lsclusterspara ver sus nombres reales en laClustercolumna.Cómo funciona: tal como lo instalan los paquetes de Ubuntu, en
/usr/bin/pg_dumprealidad es un enlace suave a/usr/share/postgresql-common/pg_wrapper, cuyo propósito es precisamente seleccionar la instancia correcta y ejecutar el binario correspondiente.--clusterno existe en los comandos comunes de PostgreSQL, es una adición de Debian / Ubuntu que está destinada a abordar este problema de múltiples versiones / múltiples rutas.Esta es la misma para
psql,createdb,createuser, etc. alrededor de 18 órdenes de Postgres en/usr/binrealidad están gestionados porpg_wrapper.Ver man pg_wrapper para más.
fuente
version= versión principal de postgresql ymain= nombre predeterminado del clúster. Consulte las páginas de manual de pg_lsclusters y pg_wrapper.Puedes usar:
para encontrar sus versiones de
pg_dumpen mi caso:/usr/pgsql-9.6/bin/pg_dumpasí que a continuación podemos hacer:
para actualizar a la que necesitamos
fuente