Yanıtlar:
İçindekiler listesini kullanarak kabaca bir ilerleme görebilirsiniz.
İlk olarak, geri yüklenecek nesnelerin TOK listesini alın:
pg_restore -l -f list.toc db.dump
Ardından, İçindekiler listesini satır satır görebilir ve İçindekiler listesinin nerede olduğunu görmek için ayrıntılı veya sorgu pg_stat_activity çıktılarını karşılaştırabilirsiniz.
Bu sadece kaba bir tahmindir. İlk olarak, TOK listesindeki her öğenin yüklenmesi gerçekten farklı zaman alabilir (örneğin, şemalar hızlıdır, ancak büyük tabloların ve bina dizinlerinin yüklenmesi) değildir ve -j'yi kullanırsanız geri yüklenen bir öğeniz olur bir öncekini bitirmeden önce. Ayrıca, pg_restore -L kullanmıyorsanız tam olarak TOC listesini takip ederse% 100 emin değilim, ama öyle olduğunu düşünüyorum.
Unix / Linux ortamları için geçerlidir:
Boru Görüntüleyicisi (pv) yardımcı programı yedekleme ilerlemesini izlemek için kullanılabilir. Pv, geçen süre ve aktarılan baytlarla ilgili ayrıntılarla kabuğunuzu canlandırır.
Aşağıda, büyük döküm dosyalarını küçük parçalar halinde tutmak için pv ve split yardımcı programlarını kullanarak dökümü örneği verilmiştir. Daha sonra başka bir yere aktarmak yararlı olabilir.
# 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"
Dezavantajı - pg_dump -Fd seçeneği (klasöre dökümü) kullanılırsa bu yaklaşım işe yaramaz.