.Tar ফাইল থেকে PostgreSQL ডাটাবেসটি কীভাবে পুনরুদ্ধার করবেন?


20

WHM ব্যবহার করে ইনক্রিমেন্টাল ব্যাকআপের সময় আমার কাছে সমস্ত PostgreSQL ডাটাবেস ব্যাকআপ আছে, যা একটি b dbName তৈরি করে। তারার ফাইল।

এই .tar ফাইলগুলিতে ডেটা সংরক্ষণ করা হয় তবে এসএসএইচ এর মাধ্যমে পৃথক ডাটাবেসে এটি কীভাবে পুনরুদ্ধার করা যায় তা আমি জানি না। বিশেষত ফাইলের অবস্থান।

আমি ব্যবহার করছি:

pg_restore -d client03 /backup/cpbackup/daily/client03/psql/client03.tar

যা ত্রুটি উত্পন্ন করে 'ইনপুট ফাইলটি খুলতে পারেনি: অনুমতি প্রত্যাখ্যান'

কোন সহায়তা প্রশংসা।


আপনি যে কমান্ডটি দিয়ে এই কমান্ডটি চালাচ্ছেন তার কি সেই ফাইলটির অ্যাক্সেস রয়েছে?
মাদুর

হাই ম্যাট, আপনিও তাই ভাবেন, (মূল হিসাবে চলমান) তবে অনেকগুলি সংমিশ্রণের পরে সমস্যাটি সবেমাত্র সমাধান করেছেন, এবং কাঁচা .আরটি ফাইলটি টেম্পে সরিয়ে নিয়েছেন .... pg_restore -c -i -U postgres -d client03 -v "/tmp/client03.tar" -W শেষে -W -W মূল কৌশল ছিল যা পাসওয়ার্ড ইনপুটকে বাধ্যতামূলকভাবে বাধ্য করেছিল যা সমস্ত কিছু একসাথে ফিরিয়ে আনতে সক্ষম করে।
স্টিফেন

উত্তর:


24

কোডের সঠিক স্ট্রিংটি খুঁজে পেয়েছে, অন্য কেউ যদি এই থ্রেড খুঁজে পান।

pg_restore -c -i -U postgres -d client03 -v "/tmp/client03.tar" -W

ব্রেক ডাউনটি ছিল http://www.postgresql.org/docs/7.3/static/app-pgrestore.html এবং কিছুটা বিচার ও ত্রুটি।

মূলত ...

-c to clean the database
-i to ignore any database version checks
-U to force a user
-d to select the database
-v verbose mode, don't know why
"$$" the location of the files to import in tmp to get around permission issues
-W to force asking for the password to the user (postgres)

আশা করি উপরোক্তরা অন্য কাউকে সহায়তা করে।


তার সাথে যেমন কীভাবে হয়?
এরি

2

পিজএডমিন তৃতীয়টি আমার পুনরুদ্ধারটি করার জন্য ব্যবহার করার সময়, এটি নিজের দ্বারা তৈরি করা নিম্নলিখিত কমান্ডটি ব্যবহার করে নির্দ্বিধায় কাজ করেছে:

pg_restore --host localhost --port 5432 --username "my_user_name" --dbname "my_db_name" --role "my_user_name" --no-password  --verbose "/Users/me/Desktop/backup_file.tar"

সতর্কতা এড়াতে লক্ষ্য করুন সার্ভারে ইতিমধ্যে বিদ্যমান ব্যাকআপ ফাইলটিতে বস্তুর মালিকদের ভূমিকা রাখা ভাল ধারণা। এছাড়াও আপনার ইতিমধ্যে লক্ষ্য ডিবি তৈরি করা উচিত এবং সেই ভূমিকার মালিকানাধীন।


1

আমি নিশ্চিত নই যে এটি একটি ডেটর ফাইল আমদানি করতে পারে। আমি একটি করতাম

tar -zxvf client03.tar 

ফাইলের ভিতরে যা ছিল তা বের করতে এবং pg_restore আবার চেষ্টা করুন। আমি pg_restore কাজ জানি, যেমন খালি ধাতব পুনরুদ্ধার থেকে আমাদের একই পদ্ধতি পুনরুদ্ধার করা আছে।


1
হাই স্টিফেন, হ্যাঁ আপাতদৃষ্টিতে এটি হতে পারে, সঠিক কোড পেতে, এবং অ্যাক্সেসের অনুমতি সহ ফাইলটি একটি ফোল্ডারে ফেলে দিতে আমার সময় লেগেছে :)
স্টিফেন

"-Z" কোনও ত্রুটি ফিরিয়ে আনবে, কারণ এটি কেবল একটি ট্যার, gzip দিয়ে সংকুচিত নয়।
অ্যালেক্স

অ্যালেক্স 100% সঠিক।
স্টিফন থম্পসন

0

নীচে আমার জন্য ডেটাবেস ক্লিক করে ডান ক্লিক এবং পুনরুদ্ধার নির্বাচন করে pgAdmin iii থেকে উত্পন্ন হয়েছিল। আমি আমার কাছে থাকা ডটারের ফাইলটিতে নেভিগেট করেছি এবং এটি নিজে থেকে এটি করেছে।

/usr/bin/pg_restore --host localhost --port 5434 --username "postgres" \
--dbname "dvdrental" --no-password  --schema public --verbose \
"/home/npena/Desktop/dvd/dvdrental.tar"

0

সংস্করণ 9.5 এর জন্য, কমান্ড লাইনে নিম্নলিখিতটি চালান

pg_restore -W -c -U [username] -d [database_name] -v "[path to extracted tar]"


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