Lập trình 22/09/2026 8 phút

Sao lưu PostgreSQL đo thật: pg_dump và pg_basebackup trên cùng 613 MB — dump nén 69 MB mất 2,9 giây, basebackup 651 MB mất 0,9 giây, tải đang chạy giảm 9% đến 15%, và dump chụp lúc bắt đầu còn basebackup nhất quán lúc kết thúc

Hai kiểu sao lưu khác bản chất, đo trên một cơ sở dữ liệu 613 MB với pgbench và một bảng một triệu dòng md5. Sáu biến thể: pg_dump SQL thuần 407 MB trong 0,89 giây, custom nén 69 MB trong 2,92 giây, thư mục song song 4 tiến trình 2,33 giây; pg_basebackup thư mục 651 MB trong 0,89 giây, tar gzip 100 MB trong 6,1 giây. Dưới tải pgbench 8 client, dump làm TPS giảm 9%, basebackup gzip giảm 15%, không khoá bảng nào. Chèn 1.000 dòng trong lúc sao lưu: dump giữ 1.000 dòng lúc bắt đầu, basebackup giữ 1.200 dòng lúc kết thúc chép, và container mới khởi động từ bản basebackup trong 758 ms.

Lập trình 22/09/2026 8 phút

Khôi phục từ pg_dump đo thật: 80% thời gian là COPY, index và khoá ngoại được dựng lại chứ không được chép, -j nhanh 1,3 lần khi một bảng chiếm 73% và 1,77 lần với tám bảng đều, planner đoán sai 5 lần tới khi ANALYZE, và một role thiếu là một lỗi

Khôi phục bản dump custom 75 MB của cơ sở dữ liệu 613 MB vào CSDL trống: 2,85 giây tuần tự, 2,18 giây với -j, không nhanh hơn vì một bảng chiếm 73%; tám bảng bằng nhau thì -j4 nhanh 1,77 lần rồi chạm trần. Tách theo section: pre-data 25 ms, COPY 2,27 giây, dựng index và khoá ngoại 731 ms. Sau khôi phục planner ước lượng 5.000 dòng cho truy vấn trả 1.001 và chọn Bitmap Scan, ANALYZE 254 ms sửa thành Index Scan với 943. work_mem đặt ở mức database biến mất, sequence giữ nguyên 4000, và khôi phục vào cụm trống báo đúng một lỗi role không tồn tại, nạp pg_dumpall --globals-only trước thì 0 lỗi.