Apakah ada cara untuk melihat kemajuan pg_dump
operasi pada db besar (yaitu> 1GB)? menambahkan -v
opsi hanya membuang teks di layar, tetapi tidak memberi saya banyak informasi pelacakan yang berarti.
sumber
Apakah ada cara untuk melihat kemajuan pg_dump
operasi pada db besar (yaitu> 1GB)? menambahkan -v
opsi hanya membuang teks di layar, tetapi tidak memberi saya banyak informasi pelacakan yang berarti.
Anda dapat melihat kemajuan kasar menggunakan daftar TOC.
Pertama, dapatkan daftar objek TOC yang akan dipulihkan:
pg_restore -l -f list.toc db.dump
Kemudian, Anda dapat melihat daftar TOC baris demi baris dan membandingkan output dari verbose atau permintaan pg_stat_activity untuk melihat di mana di daftar TOC pg_restore masuk.
Itu hanya perkiraan kasar. Pertama karena setiap item dari daftar TOC mungkin memerlukan waktu yang sangat berbeda untuk memuat (misalnya, skema cepat, tetapi memuat data tabel besar dan indeks bangunan tidak), dan jika Anda menggunakan -j Anda akan memiliki item yang dikembalikan sebelum yang sebelumnya selesai. Juga, saya tidak 100% yakin jika pg_restore mengikuti daftar TOC dengan tepat jika Anda tidak menggunakan -L, tapi saya pikir itu benar.
Berlaku untuk lingkungan Unix / Linux:
Utilitas Pipe Viewer (pv) dapat digunakan melacak kemajuan cadangan. Pv menggerakkan shell Anda dengan detail tentang waktu yang telah berlalu dan byte yang ditransfer.
Di bawah ini adalah contoh dumping menggunakan utilitas pv dan split untuk menjaga file dump besar dalam potongan kecil. Mungkin berguna untuk mentransfernya nanti ke lokasi lain.
Kekurangannya - pendekatan ini tidak berfungsi, jika opsi pg_dump -Fd (dump to folder) digunakan.
sumber