[postgresql] 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


답변

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