পিজি_রেস্টোর চলাকালীন ফাইলের শিরোনামে "[অর্চিবার] অসমর্থিত সংস্করণ (1.13)" পাওয়া


165

আমি স্রেফ ম্যাক ওএসে 10.2 পোস্টগ্রেসে আপগ্রেড করেছি যা হিরকুতে 10.2 এর সাথে মেলে। আমি ডাটাবেসের একটি অনুলিপি ডাউনলোড এবং স্থানীয়ভাবে এটি পুনরুদ্ধার করার চেষ্টা করছি। আপগ্রেড করার আগে পুনরুদ্ধারটি ঠিকঠাক কাজ করবে।

আমি দৌড়াই

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

তবে আমি এই ত্রুটিটি পাচ্ছি:

pg_restore: [শিরোনাম] ফাইল শিরোনামে অসমর্থিত সংস্করণ (1.13)

ডাটাবেসটি ঠিক আছে বলে মনে হচ্ছে। এটি একটি রেল অ্যাপ্লিকেশন এবং আমি পিজি রত্নগুলি আপগ্রেড করেছি। আমি চালাতে পারি rake db:createএবং db:migrateঠিক আছে।

উত্তর:


196

2018-03-01 থেকে প্রথম সুরক্ষা প্যাচ পেতে আপনার স্থানীয় পোস্টগ্রাগগুলি আপগ্রেড করতে হবে, যেমন Heroku1 ম মার্চ করেছে। আপনি শেষ রিলিজের এক প্রয়োজন 10.3, 9.6.8, 9.5.12, 9.4.17, এবং 9.3.22

সুরক্ষা প্যাচটি এখানে https://www.postgresql.org/about/news/1834/ পাওয়া যাবে ।

এটি প্যাচটি পরিবর্তিত pg_dump বলে মনে হচ্ছে, সম্ভবত হেরোকুর ডাম্পের জন্য (প্যাচ প্রয়োগের সাথে) আমরা প্যাচ_স্টোরটি আর ব্যবহার করতে পারি না।


87
brew upgrade postgresql brew postgresql-upgrade-database
গ্রাইরি

2
লিনাক্স মিন্ট ব্যবহার করে আমার সংস্করণটি 9.5.11 এবং এটি বলে যে এটি আপ টু ডেট। এপ-গেট ব্যবহার করে আমি কীভাবে এটি সর্বশেষতম সংস্করণটি ব্যবহার করতে বাধ্য করব?
ক্রিটজ

পোস্টগ্র্যাস্কল 9.5.12 এখন আনুষ্ঠানিক উবুন্টু 16.04 জেনিয়াল রেপো প্যাকেজগুলিতে
রয়েছে.উবন্টু.com

6
@ গ্রেরি 3 এর মন্তব্য দুটি পৃথক কমান্ড। অনুলিপি-অন-পাস্টারদের সাবধান!
জো মাসিলোটি

4
দুটি কমান্ডের মাথা আপ brew upgrade postgresql && brew postgresql-upgrade-databaseসত্যিই সমস্যাটি ঠিক করতে পারে তবে আমার স্থানীয় ডেটাবেসগুলি সেই পথেই বাদ পড়েছে dropped আপনার কাছে সমালোচনামূলক ডেটা থাকলে তাদের ব্যাকআপ নিন!
জার্ভিস জনসন

19

আমি আজ এই একই ইস্যুতে দৌড়েছি, হিরোকুর পক্ষে কিছু পরিবর্তন হয়েছে কিনা তা আমি জানি না, কারণ স্থানীয়ভাবে আমি ৯..6 চালাচ্ছি তবে হেরোকুতে আমার ডাটাবেসটি ৯.৪, সুতরাং এটি সংস্করণ বিন্দুর পার্থক্য সম্পর্কে মনে হয়নি (এটি আজ অবধি কাজ করছিল।)

আপনি যদি কোনও ম্যাকের পোস্টগ্র্রেস.এপ ( https://postgresapp.com/ ) ব্যবহার করে থাকেন তবে নিশ্চিত হয়ে নিন যে আপনি চলছেন v2.1.3(এই লেখাটি যেটি সর্বাধিক নতুন সংস্করণ)। আপনি Postgres.app আপগ্রেড করার সময় আপনি Postgres এর সর্বাধিক প্যাচ রিলিজ পাবেন, (যা সম্ভবত আপনি বর্তমানে এটির অমিলের কারণ হয়ে উঠছেন - হেরোকু সর্বশেষতম সুরক্ষা প্যাচটির জন্য আপগ্রেড করেছে এবং আপনার স্থানীয় মেশিনটি এটি নাও থাকতে পারে)।

আমাকে Postgres.app আপগ্রেড করতে হয়েছিল 2.1.0 থেকে 2.1.3 এ এবং এটি সমস্যার সমাধান করেছে।


12

গতকাল (03/01/2018) থেকে আমাদের পোস্টগ্র্রেএসকিউএল 9.5 এ চলছে হিরোকু থেকে ব্যাকআপ পুনরুদ্ধার করতেও সমস্যা হয়েছিল:

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

আমাদের পোস্টগ্রাইএসকিউএল সংস্করণটি 9.5.11 থেকে 9.5.12 থেকে আপগ্রেড করার বিষয়টি সমস্যার সমাধান করেছে।


12

আমি যখন প্রথমবার এই সমস্যাটি নিয়ে এসেছি তখন আমি কীভাবে আমার লোকালয়ে হেরোকু ডেটাবেস পুনরুদ্ধার করেছি:

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

ভাল কাজ, আমি সম্পর্কে জানতাম না heroku pg:pull। তবে এটি যথাযথ সমাধান নয়, আপনি স্থানীয়ভাবে আগের কোনও হিরকু ডাম্প পুনরুদ্ধার করতে পারবেন না, এটিও আমি অনুমান করি টানানোর সময় এটি লাইভ ডাটাবেস সংস্থান কাজে লাগায়।
ডিমেণ্টাল

1
ডাউনভোটগুলি কীসের জন্য তা নিশ্চিত নয়। ওপি আক্ষরিকভাবে জিজ্ঞাসা করছে "আমি ডাটাবেসের একটি অনুলিপি ডাউনলোড করে স্থানীয়ভাবে এটি পুনরুদ্ধার করার চেষ্টা করছি" এবং আমি সেই নির্দিষ্ট প্রশ্নের উত্তর দিচ্ছি।
জিম প্যাডিলা

7

যাঁরা সাফল্য ছাড়াই উবুন্টুতে পোস্টগ্রেক্কেল আপগ্রেড করার চেষ্টা করছেন (যেমন জোহানের মন্তব্য উপরের মত), পোস্টগ্র্রেএসকিউএল অ্যাপটি সংগ্রহস্থলটি ব্যবহার করার চেষ্টা করুন, অফিসিয়াল পোস্টগ্রিসকিউএল ডাউনলোডের নির্দেশনা অনুসারে: 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

6

আমার জন্য সমাধানের মধ্যে আমার পোস্টগ্র্রেস.এপ আপডেট করা এবং আমার স্থানীয় হোমব্রু পোস্টগ্রিএসকিউএল আপডেট করা উভয়ই জড়িত ।

কানুকের উত্তরের মাধ্যমে আমার পোস্টগ্র্রেস.অ্যাপ আপডেট করুন:

Postgres.app খুলুন> আপডেটগুলির জন্য চেক করুন ...

গৃহীত উত্তরের উপর গ্রিরি 3 এর মন্তব্যের মাধ্যমে আমার স্থানীয় হোমব্রিজ পোস্টগ্রিএসকিউএল আপডেট করুন:

brew upgrade postgresql brew postgresql-upgrade-database


আমাকে আমার হোমব্রু পোস্টগ্রিএসকিউএল আপডেট করতে হবে না। কেবলমাত্র সর্বশেষ সংস্করণে Postgres.app আপডেট করা যথেষ্ট ছিল।
মিনারেলওয়াসার

postgres.app থেকে আপডেট করা আমার সমস্যাটি স্থির করে
FutoRicky

6

পিজএডমিন 3 ব্যবহার করে উইন্ডোজটিতে এই সমস্যা ছিল।

PgAdmin 3 থেকে pgAdmin 4 এ আপগ্রেড করা আমার জন্য সমস্যার সমাধান করেছে।

যদি আপনি প্রদত্ত ডাম্প ফাইলটি পুনরুদ্ধার করতে তৃতীয় পক্ষের সরঞ্জাম, যেমন PgAdmin, ব্যবহার করেন তবে পুনরুদ্ধারটি ইনস্টলড পোস্টগ্রাস সংস্করণটি আপ টু ডেট থাকার পরেও সফল হতে পারে না। এটি তৃতীয় পক্ষের সরঞ্জামগুলির কারণে প্রায়শই 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


ধন্যবাদ, এটি আমার পক্ষে কাজ করেছে। আমি পোস্টগ্রিসকিউএল 9.5.12 এ আছি এবং আমি পিজএডমিন 3 ব্যবহার করছিলাম। পিজিএডমিন 4 pg_restoreসফলভাবে সম্পাদন করতে সক্ষম হয়েছিল ।
আলেকজান্ডার

5

আমি আপনার ডিবি স্থানীয়ভাবে একটি নতুন বড় সংস্করণে আপগ্রেড করার পরামর্শ দিচ্ছি না (সুরক্ষা প্যাচগুলি প্রয়োগ করুন) আপনার প্রযোজনায় যে কোনও সংস্করণ মেলাতে চাইলে এটি ঠিক করতে পারেন।

এটি হিরোকু ডাটাবেস থেকে পুনরুদ্ধার করে উবুন্টু 16.04 এ স্থির করেছে।

প্রথমত, ডিয়েগো উল্লিখিত হিসাবে আপনার পোস্টগ্র্যাস্কল রেপো রয়েছে তা নিশ্চিত করুন। তারপরে আপগ্রেড ক্লায়েন্টটি ইনস্টল করুন।

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

আপনি উবুন্টু 17,04 বা 17,10, নোট আছে পোস্টগ্রি এর প্রাণবন্ত রেপো হয়, তাহলে না তা আপডেট করা ক্লায়েন্ট আপনাকে প্রয়োজন। আপনি এর পরিবর্তে জেনিয়াল পোস্টগ্রিসের রেপো ব্যবহার করতে চান।


আমি ডিবিটিকে আপগ্রেড করার প্রস্তাব দিচ্ছি, যেহেতু এটি একটি সুরক্ষা প্যাচ যা বেশ গুরুত্বপূর্ণ যদি আপনার ডাটাবেসটি অবিশ্বস্ত ব্যবহারকারীদের কাছ থেকে অনুসন্ধান চালায়: wiki.postgresql.org/wiki/… "মুক্তির উদ্দেশ্য ছিল CVE-2018-1058, যা বর্ণনা করে কোনও ব্যবহারকারী কীভাবে বিভিন্ন স্কিমায় অনুরূপ নামযুক্ত অবজেক্ট তৈরি করতে পারে যা অন্যান্য ব্যবহারকারীর প্রশ্নের আচরণের পরিবর্তন করতে পারে এবং অপ্রত্যাশিত বা দূষিত আচরণের কারণ হতে পারে, "ট্রোজান-হর্স" আক্রমণ হিসাবে পরিচিত ""
রবএম

আমি Unable to locate package postgresql-client-10যখন এটি করি তখন পেয়েছি
ডগ

@ রবএম সম্মত "আপগ্রেড করার সুপারিশ করবেন না ..." লিখে আমি উল্লেখ করছি যে আপনি কোনও প্রধান সংস্করণে আপগ্রেড না করছেন যা আপনি উত্পাদনে ব্যবহার করছেন না। স্থানীয়ভাবে এবং অবশ্যই উত্পাদন হিসাবে একটি প্রধান সংস্করণ মধ্যে সর্বশেষতম সুরক্ষা প্যাচ আপগ্রেড করা অবশ্যই বুদ্ধিমানের। আমি আমার অর্থটি আরও ভালভাবে প্রতিবিম্বিত করতে আমার উত্তরে ভার্চিয়াটি টুইট করব।
ইভান

1
@ ডগ প্রথমে উপযুক্ত পোস্টগ্রিজ রেপো যুক্ত করতে ভুলবেন না। এই মন্তব্যে বর্ণিত কি অনুরূপ। stackoverflow.com/a/49116272/3975541
ইভান

4

এখানে আমি কীভাবে উবুন্টুতে (16.04 এলটিএস) সমস্যার সমাধান করেছি যেখানে পি.জি.এইচ.এল. থেকে pg_restore / pg_dump আমাকে একটি পুরানো সংস্করণ দিয়েছে

$ pg_restore --version
pg_restore (PostgreSQL) 9.4.8

$ psql --version
psql (PostgreSQL) 9.5.14

সমস্যাটি হ'ল আমার একাধিক pg সংস্করণ ইনস্টল করা আছে এবং pg_restore পূর্ববর্তী সংস্করণটির দিকে ইশারা করছিল

$ 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

সমাধানটি হ'ল একটি সংস্করণ ost / .postgresqlrc ফাইল তৈরি করতে হবে যা সঠিক সংস্করণে আছে

$ cat ~/.postgresqlrc

9.5 main *

এটি হয়ে গেলে, pg_restore সঠিক সংস্করণে নির্দেশ করে এবং কমান্ডটি দিয়ে যায়

বিশদগুলি এখানে দেওয়া হয়েছে: /server/610777/wrong-version-of-pg-dump-on-ubuntu


3

আমি প্যাগাডমিন III এ এই সমস্যার মুখোমুখি হয়েছি এবং বাইনারি অবস্থান পরিবর্তন করে এটি ঠিক করতে সক্ষম হয়েছি:

ফাইল মেনু> বিকল্পগুলি> বাইনারি পাথগুলি, তারপরে প্রোগ্রামফায়ার্স / পিগাদমিনের পরিবর্তে "পিজি বিন পাথ" পোস্টগ্র্যাসকিল / 9.x / বিনে পরিবর্তন করা হয়েছে। পুনরুদ্ধার পরে ঠিকঠাক কাজ।


2

আপনি pg_restore বাইনারি এর একটি পুরানো সংস্করণ ব্যবহার করছেন যা সরবরাহিত ডাম্প ফাইল পুনরুদ্ধার সমর্থন করে না। দয়া করে নিশ্চিত হয়ে নিন যে আপনি সর্বশেষতম পোস্টগ্র্যাস সংস্করণটি ব্যবহার করেছেন যা অবশ্যই নিম্নলিখিত প্রকাশের চেয়ে বেশি হতে হবে: https://www.postgresql.org/about/news/1834/ (10.3, 9.6.8, 9.5.12, 9.4.17 , এবং 9.3.22)।

আপনি pg_restore - রূপান্তরটি চালিয়ে ব্যবহার করছেন pg_restore সংস্করণটি পরীক্ষা করতে পারেন।

যদি আপনি প্রদত্ত ডাম্প ফাইলটি পুনরুদ্ধার করতে তৃতীয় পক্ষের সরঞ্জাম, যেমন PgAdmin, ব্যবহার করেন তবে পুনরুদ্ধারটি ইনস্টলড পোস্টগ্রাস সংস্করণটি আপ টু ডেট থাকার পরেও সফল হতে পারে না। এটি তৃতীয় পক্ষের সরঞ্জামগুলির কারণে প্রায়শই pg_restore বাইনারিগুলির নিজস্ব সংস্করণগুলি বান্ডিল করে, যা আপ টু ডেট নাও হতে পারে।


0

আমি একই ত্রুটি সম্মুখীন হয়েছিল। আমি স্থানীয়ভাবে পোস্টগ্রেএসকিএল 10.3 এ আপডেট করেছি এবং এটি আমার জন্য সমস্যাটি স্থির করেছে।


-1

উইন্ডোজ জন্য:

কমান্ড প্রম্পট ( cmd) খুলুন , তারপরে লোকেশনে যান C:\Program Files\PostgreSQL\9.6\binএবং এই আদেশগুলি চালান:

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

আশা করি এটা তোমাকে সাহায্য করবে


-3

আমি 10 মিনিট আগে একই ইস্যুতে দৌড়েছি এবং 2005 থেকে এই থ্রেড সম্পর্কে জানতে পেরেছি: https://www.postgresql.org/message-id/1106163722.780395.266900%40z14g2000cwz.googlegroups.com

মূলত লোকটি বলছে ডাম্প ফাইলটি দূষিত is


3
স্ট্রেঞ্জ। আমি হিরকু থেকে একটি ডাম্প ফাইল তৈরি করেছি এবং আমি একই সমস্যা পেয়েছি। এটি আগে কখনো ঘটে নি. আমি পোস্টগ্র্যাস্কেলকে 9.6 থেকে 10 এ উন্নীত করার চেষ্টা করেছি তবে এটি কার্যকর হয়নি।
করানতান

1
আপনি কি 10.2 বা 10.3 এ আছেন? আপনার এখন 10.3 এ থাকতে হবে আমি বিশ্বাস করি।
জ্যাক কিনসেলা 18

সেই মেলিং তালিকার থ্রেড ২০০৫ সালের।
ইত্তানথোরজোশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.