Làm thế nào để theo dõi tiến trình của một bãi chứa postrgresql lớn


13

Có cách nào để xem tiến trình của một pg_dumphoạt động trên một db lớn (tức là> 1GB) không? thêm -vtùy chọn chỉ hiển thị văn bản trên màn hình, nhưng không cung cấp cho tôi nhiều thông tin theo dõi có ý nghĩa.

Câu trả lời:


7

Bạn có thể thấy một tiến trình sơ bộ bằng cách sử dụng danh sách TOC.

Đầu tiên, lấy danh sách TOC của các đối tượng được khôi phục:

pg_restore -l -f list.toc db.dump

Sau đó, bạn có thể xem từng dòng danh sách TOC và so sánh đầu ra của verbose hoặc truy vấn pg_stat_activity để xem vị trí nào trong danh sách TOC là pg_restore.

Nó chỉ là một ước tính sơ bộ mặc dù. Đầu tiên bởi vì mỗi mục từ danh sách TOC có thể mất thời gian tải khác nhau (ví dụ: lược đồ nhanh, nhưng tải dữ liệu của các bảng lớn và chỉ mục tòa nhà thì không) và nếu bạn sử dụng -j, bạn sẽ có một mục được khôi phục trước khi một cái trước đã kết thúc. Ngoài ra, tôi không chắc chắn 100% nếu pg_restore theo dõi danh sách TOC chính xác nếu bạn không sử dụng -L, nhưng tôi nghĩ là có.


Tôi bối rối trước câu trả lời này - câu hỏi ban đầu chỉ định
hủy

2

Hợp lệ cho môi trường Unix / Linux:

Tiện ích Tube Viewer (pv) có thể được sử dụng theo dõi tiến trình sao lưu. Các pv hoạt hình shell của bạn với các chi tiết về thời gian trôi qua và các byte được chuyển.

Dưới đây là ví dụ về việc bán phá giá bằng cách sử dụng các tiện ích pv và split để giữ các tệp kết xuất lớn trong các phần nhỏ. Nó có thể thuận tiện để chuyển nó sau này đến một vị trí khác.

# 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"

Hạn chế - phương pháp này không hoạt động, nếu tùy chọn pg_dump -Fd (kết xuất vào thư mục) được sử dụng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.