একটি বৃহত্তর পোস্টগ্র্যাস্কেল ডাম্পের অগ্রগতি কীভাবে ট্র্যাক করা যায়


13

pg_dumpবড় ডিবিতে (যেমন> 1 জিবি) কোনও অপারেশনের অগ্রগতি দেখার কোনও উপায় আছে কি ? -vবিকল্পটি যুক্ত করা স্ক্রিনে কেবল পাঠ্য ডাম্পগুলিকে যুক্ত করে তবে আমাকে বেশি অর্থবহ ট্র্যাকিংয়ের তথ্য দেয় না।

উত্তর:


7

আপনি টিওসি তালিকা ব্যবহার করে মোটামুটি অগ্রগতি দেখতে পাবেন।

প্রথমে পুনঃস্থাপনের জন্য টিওসি তালিকাটি পান:

pg_restore -l -f list.toc db.dump

তারপরে, আপনি টিওসি তালিকার লাইনটি লাইন দেখতে পাচ্ছেন এবং ভার্জোজ বা ক্যোয়ারীর আউটপুট তুলনা করতে পারেন pg_stat_activity টিওসি তালিকার মধ্যে কোথায় আছে পিগ_রেস্টোর see

যদিও এটি মোটামুটি একটি অনুমান। প্রথম কারণ, টিওসি তালিকার প্রতিটি আইটেম লোড হতে সত্যই আলাদা সময় নিতে পারে (উদাহরণস্বরূপ, স্কিমাগুলি দ্রুত, তবে বড় টেবিলগুলির লোডিং ডেটা এবং বিল্ডিং সূচকগুলি হয় না), এবং আপনি যদি -j ব্যবহার করেন তবে আপনার কোনও আইটেম পুনরুদ্ধার করা হবে আগেরটি শেষ হওয়ার আগে এছাড়াও, আমি যদি 100% নিশ্চিত নই যদি আপনি -L ব্যবহার না করেন তবে pg_restore অবশ্যই TOC তালিকা অনুসরণ করে তবে আমি মনে করি এটি তা করে।


2
আমি এই উত্তরে বিভ্রান্ত হয়েছি - মূল প্রশ্নটি একটি ডেটাবেস ডাম্পিং নির্দিষ্ট করে, তবে এই সমাধানটি ডাটাবেস পুনরুদ্ধার নির্দিষ্ট করে
jaydel

2

ইউনিক্স / লিনাক্স পরিবেশের জন্য বৈধ:

পাইপ ভিউয়ার (পিভি) ইউটিলিটি ব্যাকআপ অগ্রগতির ট্রেস ব্যবহার করা যেতে পারে। পিভি আপনার শেলকে অতিক্রান্ত সময় এবং স্থানান্তরিত বাইট সম্পর্কে বিশদ সহ অ্যানিমেট করে।

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

# dump the PREDATA in clear text into a .PREDATA.SQL text file
pg_dump -s -o --section=pre-data  -n $schemaname $DatabaseConnString | pv | split -d -b $chunksize - $backuppath/$backupfilename".PREDATA.sql"

# dump the POSTDATA in clear text into a .PREDATA.SQL text file
pg_dump -s -o --section=post-data -n $schemaname $DatabaseConnString | pv | split -d -b $chunksize - $backuppath/$backupfilename".POSTDATA.sql"

# dump the DATA into the .DATA.dump compressed (binary) file
pg_dump -Fc   --section=data      -n $schemaname $DatabaseConnString | pv | split -d -b $chunksize - $backuppath/$backupfilename".DATA.dump"

অপূর্ণতা - pg_dump -Fd বিকল্পটি (ফোল্ডারে ডাম্প) ব্যবহার করা হলে এই পদ্ধতির কাজ হবে না।

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