পিজি_রেস্টোর: [আর্কিভার] ফাইল শিরোনামে যাদু স্ট্রিং খুঁজে পেল না


13

আমি PostgreSQL 9.1 ব্যবহার করছি এবং এর সাথে উত্পন্ন ব্যাকআপ ফাইলগুলি পুনরুদ্ধার করতে চাই pg_dump:

sudo pg_dump -h 127.0.0.1 -U postgres --clean --inserts -E UTF8 -f out.sql database_name

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

যখন আমি এর সাথে উত্পন্ন ব্যাকআপ ফাইলটি পুনরুদ্ধার করার চেষ্টা করি: (কেবলমাত্র প্রদর্শনের উদ্দেশ্যে লাইন ব্রেকগুলি যুক্ত করা হয়)

sudo pg_restore 
    -d database_name -h 127.0.0.1 -U postgres
    --format=c --clean --create out.sql

এটি ব্যর্থ এবং মুদ্রণ:

pg_restore: [archiver] did not find magic string in file header

এর কারণ কী?

উত্তর:


19

আপনি পুনরুদ্ধার করছেন pg_restore --format=c ...তবে এটিটি pg_dumpসম্পন্ন হয়নি --format=c, এটি ডিফল্ট, প্লেইন ফর্ম্যাট দ্বারা সম্পন্ন হয়েছিল ।

pg_dumpম্যানপেজ থেকে :

  -F format, --format=format
       Selects the format of the output.  format can be one of the
       following:

       p, plain
           Output a plain-text SQL script file (the default).

সরল বিন্যাসে একটি ডাম্প সরাসরি psqlকমান্ড-লাইন সরঞ্জামে খাওয়ানো উচিত , pg_restoreএটি কী তা জানেন না, যা এই ত্রুটি বার্তার কারণ: ফাইল শিরোলেখটিতে যাদু স্ট্রিং খুঁজে পাওয়া যায় নি

আপনি more out.sqlশেল সহ ডাম্প ফাইলটিতে সরাসরি দেখতে পারেন এবং আপনি পাঠযোগ্য এসকিউএল কমান্ডগুলি দেখতে পাবেন। এটি দিয়ে পুনরুদ্ধার করুন psql -f out.sql [other options]। অনুরোধের --createবিকল্পটি উপস্থিত না থাকায় আপনি সম্ভবত লক্ষ্যবস্তুটি প্রথম তৈরি করতে চান pg_dump

অন্যদিকে, আপনি ডাম্পটিকে --format=cতার বিকল্পগুলিতে যুক্ত করে পুনরায় প্রত্যাহার করতে পারেন । তারপরে এটি বিপরীত হবে: pg_restoreকাস্টম ফর্ম্যাটে একটি ডাম্প ফাইল ব্যাখ্যা করতে অবশ্যই ব্যবহৃত হবে।


0

একটি সম্ভাব্য সমস্যা হ'ল আপনার ডেটা ফাইলটি কেটে ফেলা হয়েছে। আপনি ফাইলের আকারের তুলনা করে পুরো ফাইলটি ডাউনলোড করছেন কিনা তা পরীক্ষা করে দেখুন।


0

আপনি যদি গিট-এলএফএস ব্যবহার করেন তবে নিশ্চিত করুন যে আসল ফাইল রয়েছে, পয়েন্টারটি নয়!

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