plans - postgresql plan heroku




Obtenir “[archiveur] version non prise en charge(1.13) dans l'en-tête du fichier” lors de l'exécution de pg_restore (10)

Je viens de passer à postgres 10.2 sur mac os, ce qui correspond à 10.2 sur heroku. J'essaie de télécharger une copie de la base de données et de la restaurer localement. Avant la mise à niveau, la restauration fonctionnerait correctement.

je cours

pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump

mais j'obtiens cette erreur:

pg_restore: [archiveur] version non prise en charge (1.13) dans l'en-tête du fichier

La base de données semble fonctionner correctement. C'est une application sur rails et j'ai mis à jour les gems pg. Je peux exécuter rake db:create et db:migrate très bien.


Avait ce problème sur Windows en utilisant pgAdmin 3.

La mise à niveau de pgAdmin 3 vers pgAdmin 4 a résolu le problème pour moi.

Si vous utilisez un outil tiers, tel que PgAdmin, pour restaurer le fichier de vidage fourni, la restauration risque de ne pas aboutir, même si la version Postgres installée est à jour. Cela est dû au fait que des outils tiers regroupent souvent leurs propres versions du binaire pg_restore, qui peuvent ne pas être à jour. https://help.heroku.com/YNH1ZJUS/why-am-i-getting-pg_restore-archiver-unsupported-version-1-13-in-file-header-error-with-pg_restore


Depuis hier (03/01/2018), nous avons également eu des problèmes pour restaurer une sauvegarde de Heroku exécutée sur PostgreSQL ™:

pg_restore: [archiver] unsupported version (1.13) in file header

La mise à niveau de notre version PostgreSQL de 9.5.11 à 9.5.12 a résolu le problème.


J'ai rencontré ce problème sur pgadmin III et j'ai pu le résoudre en changeant l'emplacement des fichiers binaires:

Menu Fichier> Options> Chemins binaires, puis changez le "chemin de la corbeille PG" en postgresql / 9.x / bin au lieu de ProgramFiles / pgadmin. La restauration a bien fonctionné par la suite.


J'ai rencontré le même problème aujourd'hui, je ne sais pas si quelque chose a changé du côté de Heroku, parce que localement, je tourne sous la version 9.6, mais ma base de données sur Heroku est de 9.4, il ne semblait donc pas y avoir de différence de points de version. travaillait jusqu'à aujourd'hui.)

Si vous utilisez le fichier Postgres.app ( https://postgresapp.com/ ) sur un Mac, assurez-vous que vous utilisez la version v2.1.3 (la version la plus récente est celle en date de cette écriture). Lorsque vous mettez à niveau Postgres.app, vous obtenez la dernière version du correctif de Postgres (ce qui est probablement à l'origine du décalage que vous rencontrez actuellement - Heroku a été mis à niveau pour le dernier correctif de sécurité et votre ordinateur local ne l'a peut-être pas).

J'ai dû mettre à jour Postgres.app de 2.1.0 à 2.1.3 et le problème a été résolu.


Je rencontrais la même erreur. J'ai mis à jour localement postgresql 10.3, ce qui a résolu le problème pour moi.


Le correctif pour moi impliquait la mise à jour de mon Postgres.app et la mise à jour de mon homebrew local PostgreSQL.

Mettre à jour mon Postgres.app via la réponse de Canuk:

Ouvrez Postgres.app> Recherchez les mises à jour ...

Mettez à jour mon homebrew local PostgreSQL via le commentaire de gerry3 sur la réponse acceptée:

brew upgrade postgresql brew postgresql-upgrade-database


Pour la première fois de ce problème, voici comment j'ai restauré la base de données Heroku dans ma section locale:

$ rails db:drop
$ heroku pg:pull DATABASE_URL <insert local DB name> --app <app-name>

Pour les fenêtres:

Ouvrez l'invite de commande ( cmd ), puis accédez à l'emplacement C:\Program Files\PostgreSQL\9.6\bin et exécutez les commandes suivantes:

pg_restore -U username -d dbname -1 filename.dump
pg_restore -U postgres -d app -1 G:\app09-07-2019.backup

J'espère que cela vous aidera


Vous devez mettre à niveau votre postgres local pour obtenir le dernier correctif de sécurité du 2018-03-01, comme Heroku fait le 1er mars. Vous avez besoin de l'une des dernières versions 10.3 , 9.6.8 , 9.5.12 , 9.4.17 et 9.3.22 .

Le correctif de sécurité peut être trouvé ici https://www.postgresql.org/about/news/1834/ .

Il semble que le patch pg_dump ait été modifié, c'est probablement pourquoi nous ne pouvons plus utiliser pg_restore sans ce patch pour le dump de Heroku (avec le patch appliqué).


Vous utilisez une ancienne version du binaire pg_restore qui ne prend pas en charge la restauration du fichier de vidage fourni. Assurez-vous d’utiliser la dernière version de Postgres, qui doit être supérieure à la version suivante: https://www.postgresql.org/about/news/1834/ (10.3, 9.6.8, 9.5.12, 9.4.17). et 9.3.22).

Vous pouvez vérifier la version de pg_restore que vous utilisez en exécutant pg_restore --version.

Si vous utilisez un outil tiers, tel que PgAdmin, pour restaurer le fichier de vidage fourni, la restauration risque de ne pas aboutir, même si la version Postgres installée est à jour. Cela est dû au fait que des outils tiers regroupent souvent leurs propres versions du binaire pg_restore, qui peuvent ne pas être à jour.







pg-restore