Saya baru saja memutakhirkan ke postgres 10.2 di mac os yang cocok dengan 10.2 di heroku. Saya mencoba mengunduh salinan database dan memulihkannya secara lokal. Sebelum peningkatan, pemulihan akan berfungsi dengan baik.
saya berlari
pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump
tapi saya mendapatkan kesalahan ini:
pg_restore: [archiver] versi yang tidak didukung (1,13) di header file
Basis data tampaknya berfungsi baik. Ini adalah aplikasi rel dan saya meningkatkan permata pg. Saya bisa berlari rake db:create
dan db:migrate
baik-baik saja.
sumber
brew upgrade postgresql
brew postgresql-upgrade-database
brew upgrade postgresql && brew postgresql-upgrade-database
memang memperbaiki masalah tetapi database lokal saya dijatuhkan di sepanjang jalan. Cadangkan jika Anda memiliki data penting!Saya mengalami masalah yang sama hari ini, saya tidak tahu apakah ada sesuatu yang berubah di pihak Heroku, karena secara lokal saya menjalankan 9.6 tetapi basis data saya di Heroku adalah 9.4, jadi sepertinya bukan tentang perbedaan titik versi (itu sedang bekerja sampai hari ini.)
Jika Anda menggunakan Postgres.app ( https://postgresapp.com/ ) di Mac, pastikan Anda menjalankan
v2.1.3
(pada tulisan ini, ini adalah versi terbaru). Ketika Anda memutakhirkan Postgres.app Anda mendapatkan rilis patch terbaru dari Postgres, (yang kemungkinan menyebabkan ketidakcocokan yang Anda alami saat ini - Heroku telah memutakhirkan untuk tambalan keamanan terbaru, dan mesin lokal Anda mungkin tidak memilikinya).sumber
Sejak kemarin (03/01/2018) kami juga mengalami masalah memulihkan cadangan dari Heroku yang berjalan di PostgreSQL 9.5:
Memutakhirkan versi PostgreSQL kami dari 9.5.11 ke 9.5.12 memperbaiki masalah ini.
sumber
Pertama kali saya mengalami masalah ini, inilah cara saya memulihkan Database Heroku ke Lokal saya:
sumber
heroku pg:pull
. Tapi ini bukan perbaikan yang cocok, karena Anda masih tidak dapat mengembalikan dump heroku sebelumnya secara lokal, juga saya kira ini menggunakan sumber daya database hidup sambil menarik.Bagi mereka yang mencoba memutakhirkan postgresql di Ubuntu tanpa hasil (seperti komentar Johan di atas), coba gunakan repositori apt PostgreSQL, sebagaimana dinyatakan dalam petunjuk unduh PostgreSQL resmi: https://www.postgresql.org/download/linux/ubuntu /
sumber
Perbaikan untuk saya terlibat baik memperbarui Postgres.app saya dan memperbarui homebrew lokal saya PostgreSQL.
Perbarui Postgres.app saya melalui jawaban Canuk:
Perbarui PostgreSQL homebrew lokal saya melalui komentar gerry3 pada jawaban yang diterima:
brew upgrade postgresql
brew postgresql-upgrade-database
sumber
Punya masalah ini pada Windows menggunakan pgAdmin 3.
Memutakhirkan dari pgAdmin 3 ke pgAdmin 4 memecahkan masalah bagi saya.
sumber
pg_restore
sukses.Saya tidak menyarankan untuk memperbarui DB Anda ke versi utama baru secara lokal (lakukan penerapan patch keamanan) hanya untuk memperbaikinya karena Anda ingin agar sesuai dengan versi apa pun yang Anda miliki dalam produksi.
Ini memperbaikinya pada Ubuntu 16.04, memulihkan dari database Heroku.
Pertama, pastikan Anda memiliki repo postgresql seperti yang disebutkan diego. Kemudian instal klien yang ditingkatkan.
sudo apt-get update && sudo apt-get install postgresql-client-10
Jika Anda adalah Ubuntu 17.04 atau 17.10, perhatikan bahwa repo zesty PostgreSQL tidak memiliki klien yang diperbarui yang Anda butuhkan. Anda akan ingin menggunakan repo xenial Postgres sebagai gantinya.
sumber
Unable to locate package postgresql-client-10
ketika saya melakukan iniInilah cara saya mengatasi masalah di Ubuntu (16.04 LTS) di mana pg_restore / pg_dump memberi saya versi yang lebih lama, dari psql
Masalahnya adalah saya menginstal beberapa versi pg, dan pg_restore menunjuk ke versi sebelumnya
Cara mengatasinya adalah membuat file ~ / .postgresqlrc yang menunjuk ke versi yang benar
Setelah ini selesai, pg_restore menunjuk ke versi yang benar, dan perintah berjalan
Detail yang diberikan di sini: /server/610777/wrong-version-of-pg-dump-on-ubuntu
sumber
Saya mengalami masalah ini pada pgadmin III dan dapat memperbaikinya dengan mengganti lokasi binari:
Menu file> Opsi> Binary Paths, lalu ubah "PG bin path" ke postgresql / 9.x / bin alih-alih ProgramFiles / pgadmin. Restore bekerja dengan baik setelahnya.
sumber
Anda menggunakan versi lama biner pg_restore yang tidak mendukung memulihkan file dump yang disediakan. Pastikan Anda menggunakan versi Postgres terbaru, yang harus lebih tinggi daripada rilis berikut: https://www.postgresql.org/about/news/1834/ (10.3, 9.6.8, 9.5.12, 9.4.17 , dan 9.3.22).
Anda dapat memeriksa versi pg_restore yang Anda gunakan dengan menjalankan pg_restore --version.
Jika Anda menggunakan alat pihak ketiga, seperti PgAdmin, untuk mengembalikan file dump yang disediakan, pemulihan mungkin tidak berhasil walaupun versi Postgres yang terinstal tetap terkini. Ini karena alat pihak ketiga sering menggabungkan versi biner pg_restore mereka sendiri, yang mungkin tidak mutakhir.
sumber
Saya mengalami kesalahan yang sama. Saya memperbarui ke postgresql 10.3 secara lokal, dan itu memperbaiki masalah bagi saya.
sumber
Untuk Windows:
Buka Command Prompt (
cmd
), lalu pergi ke lokasiC:\Program Files\PostgreSQL\9.6\bin
dan jalankan perintah ini:Semoga ini bisa membantu Anda
sumber
Saya berlari di masalah yang sama 10 menit yang lalu, dan menemukan tentang utas ini dari 2005: https://www.postgresql.org/message-id/1106163722.780395.266900%40z14g2000cwz.googlegroups.com
Pada dasarnya pria itu mengatakan file dump rusak.
sumber