26 votos

¿Cómo puedo actualizar postgresl de la base de datos? Incompatibilidad de error

He instalado postgresql a través de Homebrew.

Tengo el siguiente problema después de la actualización:

FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 9.0, which is not compatible with this version 9.1.2.

Consejos sobre cómo actualizar? He intentado lo siguiente:

$ pg_upgrade -d /usr/local/var/postgres/ -D /usr/local/var/postgres -b 
/usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar/postgresql/9.1.2/bin

No trabajo. Aquí está la salida.

Performing Consistency Checks
Checking current, bin, and data directories                 ok
Checking cluster versions                                   
This utility can only upgrade to PostgreSQL version 9.1.
Failure, exiting

error.

36voto

hakunin Puntos 447

Para mí en OS X con Homebrew fue de esta manera.

  1. Nuevo instalado postgres con Homebrew (empezó a tener el error)
  2. mv /usr/local/var/postgres /usr/local/var/postgres.old
  3. initdb -D /usr/local/var/postgres
  4. pg_upgrade -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/local/Cellar/postgresql/9.1.2/bin -d /usr/local/var/postgres.old -D /usr/local/var/postgres
  5. ./delete_old_cluster.sh (esta secuencia de comandos se crean automáticamente en el directorio actual cuando usted va a través de los pasos anteriores)
  6. rm delete_old_cluster.sh

6voto

nullptr Puntos 1652

Aquí es como yo lo hice en fedora:

  • cambiar el nombre de su directorio de datos antigua a algo como de datos.viejo
  • ejecutar postgresql-setup initdb esto creará un nuevo directorio de datos
  • a continuación, ejecute pg_upgrade -b /usr/lib64/pgsql/postgresql-9.0/bin/ -B /usr/bin/ -d data.old/ -D data

Creo que para usted que sería:

pg_upgrade -b /usr/local/Cellar/postgresql/9.0.4/bin -B /usr/bin/ -d /usr/local/var/postgres.old/ -D /usr/local/var/postgres/
  • usted también desea copiar pg_hba.conf y postgresql.conf a partir de los datos.viejo para el nuevo directorio de datos.
  • reinicie postgresql

0voto

Rudy Matela Puntos 101

Para Arch Linux, no es una solución en la wiki, en la que trabajó muy bien para mí:

pacman -S --needed postgresql-old-upgrade
su -
su - postgres -c 'mv /var/lib/postgres/data /var/lib/postgres/data-9.2'
su - postgres -c 'mkdir /var/lib/postgres/data'
su - postgres -c 'initdb --locale en_US.UTF-8 -E UTF8 -D /var/lib/postgres/data'
su - postgres -c 'pg_upgrade -b /opt/pgsql-9.2/bin/ -B /usr/bin/ -d /var/lib/postgres/data-9.2 -D /var/lib/postgres/data'

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: