วิธีติดตามความคืบหน้าของการถ่ายโอนข้อมูล postrgresql ขนาดใหญ่


14

มีวิธีดูความคืบหน้าของการpg_dumpดำเนินการกับฐานข้อมูลขนาดใหญ่ (เช่น> 1GB) หรือไม่ การเพิ่ม-vตัวเลือกเพียงแค่ทิ้งข้อความบนหน้าจอ แต่ไม่ได้ให้ข้อมูลการติดตามที่มีความหมายกับฉันมากนัก

คำตอบ:


8

คุณสามารถเห็นความคืบหน้าคร่าวๆโดยใช้รายการ TOC

ขั้นแรกให้รับรายการวัตถุ TOC ที่จะกู้คืน:

pg_restore -l -f list.toc db.dump

จากนั้นคุณสามารถดูบรรทัดรายการ TOC ทีละบรรทัดและเปรียบเทียบเอาต์พุตของ verbose หรือเคียวรี pg_stat_activity เพื่อดูตำแหน่งในรายการ TOC คือ pg_restore ใน

มันเป็นเพียงประมาณการคร่าวๆ ก่อนเนื่องจากแต่ละรายการจากรายการ TOC อาจใช้เวลาในการโหลดที่แตกต่างกันจริงๆ (ตัวอย่างเช่น schemas นั้นรวดเร็ว แต่การโหลดข้อมูลของตารางขนาดใหญ่และดัชนีการสร้างไม่ได้เป็นเช่นนั้น) และถ้าคุณใช้ -j คุณจะต้องเรียกคืนรายการ ก่อนที่ก่อนหน้านี้จะเสร็จสิ้น นอกจากนี้ฉันไม่แน่ใจ 100% ถ้า pg_restore ติดตามรายการ TOC อย่างแม่นยำหากคุณไม่ได้ใช้ -L แต่ฉันคิดว่ามันเป็นเช่นนั้น


2
ฉันสับสนกับคำตอบนี้ - คำถามเดิมระบุการทุ่มตลาดฐานข้อมูล แต่วิธีนี้ระบุการกู้คืนฐานข้อมูล
4154

2

ใช้ได้กับสภาพแวดล้อม Unix / Linux:

ยูทิลิตี Pipe Viewer (pv) สามารถใช้ติดตามความคืบหน้าการสำรองข้อมูล pv ทำให้เชลล์ของคุณเคลื่อนไหวโดยมีรายละเอียดเกี่ยวกับเวลาที่ผ่านไปและไบต์ที่ถูกถ่ายโอน

ด้านล่างนี้เป็นตัวอย่างของการดัมพ์โดยใช้ pv และยูทิลิตีการแยกเพื่อเก็บไฟล์ดัมพ์ขนาดใหญ่เป็นกลุ่มเล็ก ๆ มันอาจจะสะดวกในการถ่ายโอนในภายหลังไปยังตำแหน่งอื่น

# 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 (dump to folder)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.