Acabo de actualizar a postgres 10.2 en mac os que coincide con 10.2 en heroku. Estoy tratando de descargar una copia de la base de datos y restaurarla localmente. Antes de la actualización, la restauración funcionaría bien.
Corro
pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump
pero recibo este error:
pg_restore: [archiver] versión no compatible (1.13) en el encabezado del archivo
La base de datos parece estar funcionando bien. Es una aplicación de rieles y actualicé las gemas pg. Puedo correr rake db:create
y db:migrate
muy bien.
fuente
brew upgrade postgresql
brew postgresql-upgrade-database
brew upgrade postgresql && brew postgresql-upgrade-database
realmente soluciona el problema, pero mis bases de datos locales se cayeron en el camino. ¡Haz una copia de seguridad si tienes datos críticos!Me encontré con este mismo problema hoy, no sé si algo cambió por parte de Heroku, porque localmente estoy ejecutando 9.6 pero mi base de datos en Heroku es 9.4, por lo que no parece ser sobre la diferencia de puntos de versión ( estuvo trabajando hasta hoy.)
Si está utilizando Postgres.app ( https://postgresapp.com/ ) en una Mac, asegúrese de que esté ejecutando
v2.1.3
(a partir de este escrito, esa es la versión más nueva). Cuando actualiza Postgres.app, obtiene la versión de parche más reciente de Postgres (lo que probablemente está causando la falta de coincidencia que está experimentando actualmente: Heroku se ha actualizado para el último parche de seguridad y es posible que su máquina local no lo tenga).fuente
Desde ayer (01/03/2018) también tuvimos problemas para restaurar una copia de seguridad de Heroku que se ejecuta en PostgreSQL 9.5:
La actualización de nuestra versión de PostgreSQL de 9.5.11 a 9.5.12 solucionó el problema.
fuente
La primera vez que tuve este problema, así es como restauré la base de datos Heroku a mi Local:
fuente
heroku pg:pull
. Pero esta no es una solución adecuada, ya que aún no puede restaurar localmente un volcado de heroku anterior, también supongo que utiliza el recurso de base de datos en vivo mientras tira.Para aquellos que intentan actualizar postgresql en Ubuntu sin éxito (como comentó Johan anteriormente), intente usar el repositorio apto de PostgreSQL, como se indica en las instrucciones oficiales de descarga de PostgreSQL: https://www.postgresql.org/download/linux/ubuntu / /
fuente
La solución para mí implicó tanto actualizar mi Postgres.app como actualizar mi homebrew local PostgreSQL.
Actualice mi Postgres.app a través de la respuesta de Canuk:
Actualice mi homebrew local PostgreSQL a través del comentario de gerry3 sobre la respuesta aceptada:
brew upgrade postgresql
brew postgresql-upgrade-database
fuente
Tuve este problema en Windows usando pgAdmin 3.
La actualización de pgAdmin 3 a pgAdmin 4 resolvió el problema para mí.
fuente
pg_restore
éxito.No recomiendo actualizar su base de datos a una nueva versión principal localmente (aplique parches de seguridad) solo para arreglar esto, ya que desea que coincida con la versión que tenga en producción.
Esto lo arregló en Ubuntu 16.04, restaurando desde una base de datos Heroku.
Primero, asegúrese de tener el repositorio postgresql como se menciona en diego. Luego instale el cliente actualizado.
sudo apt-get update && sudo apt-get install postgresql-client-10
Si usted es Ubuntu 17.04 o 17.10, tenga en cuenta que el repositorio de PostgreSQL no tiene los clientes actualizados que necesita. En su lugar, querrá usar el repositorio xenial de Postgres.
fuente
Unable to locate package postgresql-client-10
cuando hago estoAsí es como resolví el problema en Ubuntu (16.04 LTS) donde pg_restore / pg_dump me dio una versión anterior, de psql
El problema es que tengo varias versiones de pg instaladas, y pg_restore apuntaba a la versión anterior
La solución es crear un archivo ~ / .postgresqlrc que apunte a la versión correcta
Una vez hecho esto, pg_restore apunta a la versión correcta y el comando pasa por
Detalles dados aquí: /server/610777/wrong-version-of-pg-dump-on-ubuntu
fuente
Encontré este problema en pgadmin III y pude solucionarlo cambiando la ubicación de los binarios:
Menú Archivo> Opciones> Rutas binarias, luego cambió "PG bin path" a postgresql / 9.x / bin en lugar de ProgramFiles / pgadmin. Restaurar funcionó bien después.
fuente
Está utilizando una versión anterior del binario pg_restore que no admite la restauración del archivo de volcado proporcionado. Asegúrese de utilizar la última versión de Postgres, que debe ser superior a la siguiente versión: https://www.postgresql.org/about/news/1834/ (10.3, 9.6.8, 9.5.12, 9.4.17 y 9.3.22).
Puede verificar la versión de pg_restore que está utilizando ejecutando pg_restore --version.
Si está utilizando una herramienta de terceros, como PgAdmin, para restaurar el archivo de volcado proporcionado, la restauración puede no tener éxito incluso con la versión de Postgres instalada actualizada. Esto se debe a que las herramientas de terceros a menudo incluyen sus propias versiones del binario pg_restore, que pueden no estar actualizadas.
fuente
Estaba encontrando el mismo error. Actualicé a postgresql 10.3 localmente, y eso solucionó el problema para mí.
fuente
Para ventanas:
Abra el símbolo del sistema (
cmd
), luego vaya a la ubicaciónC:\Program Files\PostgreSQL\9.6\bin
y ejecute estos comandos:Espero que te ayude
fuente
Me encontré con el mismo problema hace 10 minutos y descubrí este hilo desde 2005: https://www.postgresql.org/message-id/1106163722.780395.266900%40z14g2000cwz.googlegroups.com
Básicamente, el tipo dice que el archivo de volcado está dañado.
fuente