Programing

pg_restore를 실행할 때“파일 헤더에서 [아카이버] 지원되지 않는 버전 (1.13)”얻기

lottogame 2020. 6. 3. 08:00
반응형

pg_restore를 실행할 때“파일 헤더에서 [아카이버] 지원되지 않는 버전 (1.13)”얻기


방금 heros의 10.2와 일치하는 mac os에서 postgres 10.2로 업그레이드했습니다. 데이터베이스 복사본을 다운로드하여 로컬로 복원하려고합니다. 업그레이드하기 전에 복원이 정상적으로 작동합니다.

난 달린다

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

하지만이 오류가 발생합니다.

pg_restore : [archiver] 파일 헤더에서 지원되지 않는 버전 (1.13)

데이터베이스가 정상적으로 작동하는 것 같습니다. Rails 앱이며 pg gem을 업그레이드했습니다. 나는 실행 rake db:create하고 db:migrate잘.


Heroku3 월 1 일과 같이 2018-03-01에서 마지막 보안 패치를 받으려면 로컬 postgres를 업그레이드해야합니다 . 당신은 마지막 릴리스 중 하나가 필요 10.3, 9.6.8, 9.5.12, 9.4.17,와 9.3.22.

보안 패치는 https://www.postgresql.org/about/news/1834/ 에서 찾을 수 있습니다 .

패치가 pg_dump를 수정 한 것 같습니다. 아마도 패치가 적용되지 않은 Heroku 덤프에 해당 패치가 없으면 pg_restore를 더 이상 사용할 수없는 것입니다.


나는 오늘이 같은 문제에 부딪쳤다. 나는 로컬에서 9.6을 실행하고 있지만 Heroku의 데이터베이스는 9.4이기 때문에 Heroku 측에서 변경된 것이 있는지 모르겠다. 버전 포인트 차이에 관한 것 같지 않았다. 오늘까지 일하고있었습니다.)

Mac 에서 Postgres.app ( https://postgresapp.com/ )를 사용하는 경우 v2.1.3(이 글을 쓰는 시점에서 최신 버전) 실행 중인지 확인하십시오 . Postgres.app를 업그레이드하면 Postgres의 최신 패치 릴리스가 제공됩니다 (현재 불일치가 발생할 수 있음-Heroku가 최신 보안 패치로 업그레이드하여 로컬 컴퓨터에 없을 수 있음).

Postgres.app를 2.1.0에서 2.1.3으로 업그레이드해야 문제가 해결되었습니다.


어제 (2018 년 3 월 1 일) 이후, PostgreSQL 9.5에서 실행되는 Heroku에서 백업을 복원하는 데 문제가있었습니다.

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

PostgreSQL 버전을 9.5.11에서 9.5.12로 업그레이드하면 문제가 해결되었습니다.


이 문제가 처음 발생했을 때, Heroku 데이터베이스를 로컬로 복원하는 방법은 다음과 같습니다.

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

성공하지 않고 우분투에서 postgresql을 업그레이드하려는 경우 (위의 Johan의 의견 참조) 공식 PostgreSQL 다운로드 지침에 명시된대로 PostgreSQL apt 저장소를 사용해보십시오 : https://www.postgresql.org/download/linux/ubuntu /

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update

나를위한 수정에는 Postgres.app 업데이트와 로컬 홈브류 PostgreSQL 업데이트가 모두 포함되었습니다 .

Canuk의 답변을 통해 Postgres.app를 업데이트하십시오.

Postgres.app> 업데이트 확인 ...을 엽니 다.

허용 된 답변에 대한 gerry3의 의견을 통해 내 현지 사제 PostgreSQL을 업데이트하십시오.

brew upgrade postgresql brew postgresql-upgrade-database


프로덕션 환경에있는 버전과 일치하도록이 문제를 해결하기 위해 DB를 로컬로 새로운 주 버전으로 업그레이드하지 않는 것이 좋습니다 (보안 패치 적용).

이것은 Heroku 데이터베이스에서 복원하면서 Ubuntu 16.04에서 수정되었습니다.

먼저, diego가 언급 한대로 postgresql 저장소가 있는지 확인하십시오. 그런 다음 업그레이드 된 클라이언트를 설치하십시오.

sudo apt-get update && sudo apt-get install postgresql-client-10

당신은 PostgreSQL을의 강한 풍미의 repo는 않습니다 우분투 17.04 또는 17.10,주의 경우 하지 가 업데이트 된 클라이언트는 당신이 필요합니다. 대신 xenial Postgres 저장소를 사용하려고합니다.


pgAdmin 3을 사용하여 Windows에서이 문제가 발생했습니다.

pgAdmin 3에서 pgAdmin 4로 업그레이드하면 문제가 해결되었습니다.

제공된 덤프 파일을 복원하기 위해 PgAdmin과 같은 타사 도구를 사용하는 경우 설치된 Postgres 버전이 최신 버전 인 경우에도 복원이 성공하지 못할 수 있습니다. 이는 타사 도구가 종종 자체 버전의 pg_restore 바이너리를 번들로 제공하기 때문입니다. 최신 버전이 아닐 수도 있습니다. https://help.heroku.com/YNH1ZJUS/why-am-i-getting-pg_restore-archiver-unsupported-version-1-13-in-file-header-error-with-pg_restore


pgadmin III 에서이 문제가 발생하여 바이너리 위치를 전환하여 문제를 해결할 수있었습니다.

파일 메뉴> 옵션> 바이너리 경로를 선택한 다음 ProgramFiles / pgadmin 대신 "PG bin path"를 postgresql / 9.x / bin으로 변경했습니다. 나중에 복원이 제대로 작동했습니다.


제공된 덤프 파일 복원을 지원하지 않는 이전 버전의 pg_restore 바이너리를 사용하고 있습니다. https://www.postgresql.org/about/news/1834/ (10.3, 9.6.8, 9.5.12, 9.4.17) 보다 높은 최신 Postgres 버전을 사용해야합니다. 및 9.3.22).

pg_restore --version을 실행하여 사용중인 pg_restore 버전을 확인할 수 있습니다.

제공된 덤프 파일을 복원하기 위해 PgAdmin과 같은 타사 도구를 사용하는 경우 설치된 Postgres 버전이 최신 버전 인 경우에도 복원이 성공하지 못할 수 있습니다. 이는 타사 도구가 종종 자체 버전의 pg_restore 바이너리를 번들로 제공하기 때문입니다. 최신 버전이 아닐 수도 있습니다.


다음은 pg_restore / pg_dump가 psql에서 이전 버전을 제공 한 Ubuntu (16.04 LTS)의 문제를 해결하는 방법입니다.

$ pg_restore --version
pg_restore (PostgreSQL) 9.4.8

$ psql --version
psql (PostgreSQL) 9.5.14

The issue is that I have multiple pg versions installed, and pg_restore was pointing to the earlier version

$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory               Log file
9.4 main    5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
9.5 main    5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log

The fix is to create a ~/.postgresqlrc file pointing to the correct version

$ cat ~/.postgresqlrc

9.5 main *

Once this was done, pg_restore points to the correct version, and the command goes through

Details given here: https://serverfault.com/questions/610777/wrong-version-of-pg-dump-on-ubuntu


I was encountering the same error. I updated to postgresql 10.3 locally, and that fixed the problem for me.


For Windows:

Open Command Prompt (cmd), then go to location C:\Program Files\PostgreSQL\9.6\bin and run these commands:

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

Hope it will help you


I ran in the same issue 10 minutes ago, and found out about this thread from 2005: https://www.postgresql.org/message-id/1106163722.780395.266900%40z14g2000cwz.googlegroups.com

Basically the guy is saying the dump file is corrupt.

참고URL : https://stackoverflow.com/questions/49064209/getting-archiver-unsupported-version-1-13-in-file-header-when-running-pg-r

반응형