Tôi thường xuyên lưu và sau đó khôi phục cơ sở dữ liệu PostgreSQL nhỏ, được sử dụng để thử nghiệm. Dữ liệu của nó được cập nhật thường xuyên là kết quả của các thử nghiệm, sau đó phải tạo ra một bãi chứa mới và các bãi chứa thường xuyên được sử dụng để tạo lại cơ sở dữ liệu ở trạng thái được xác định rõ.
Tôi lưu ý rằng kết xuất (sử dụng pg_dump -Fc database
) chỉ mất vài giây, nhưng khôi phục ( pg_restore -d database
) mất khoảng một phút. Điều này có vẻ kỳ lạ. Tôi đã dự kiến cả hai sẽ mất khoảng thời gian như nhau (giả sử cả hai nhiệm vụ đều bị ràng buộc I / O).
Có một số vấn đề với việc khôi phục? Tôi có thể làm cho nó nhanh hơn? Hoặc là bình thường để khôi phục mất nhiều thời gian hơn đổ? (Và nếu có, thì tại sao?)
Tệp kết xuất thường có khoảng 3-4 MiB; DBMS là PostgreSQL V8.4, chạy trên Pentium4 3GHz với RAM 1GiB trong Ubuntu Linux.