Nếu các bộ giá trị đã chết đã xếp chồng lên nhau vượt quá những gì có thể được tính trong max_fsm_pages
, một VACUUM thông thường sẽ không thể giải phóng mọi thứ. Kết quả cuối cùng là cơ sở dữ liệu sẽ ngày càng lớn hơn theo thời gian khi không gian chết tiếp tục tích tụ. Chạy VACUUM FULL sẽ khắc phục được sự cố này. Thật không may, có thể mất rất nhiều thời gian trên một cơ sở dữ liệu lớn.
Nếu bạn thường xuyên gặp sự cố này, bạn cần phải hút bụi thường xuyên hơn (autovacuum có thể trợ giúp ở đây) hoặc tăng max_fsm_pages
cài đặt. Khi chạy VACUUM VERBOSE nó sẽ cho bạn biết có bao nhiêu trang đã được giải phóng và đưa ra cảnh báo cho bạn nếu max_fsm_pages
đã bị vượt quá, điều này có thể giúp bạn xác định giá trị này phải là gì. Xem hướng dẫn sử dụng để biết thêm thông tin. http:// www .postgresql.org / docs / 8.3 / static / runtime-config-resource.html # RUNTIME-CONFIG-RESOURCE-FSM
May mắn thay, bản đồ khả năng hiển thị của 8.4 giải quyết được vấn đề này. Despesz có một câu chuyện tuyệt vời về chủ đề này như thường lệ: http://www.depesz.com/index.php/2008/12/08/waiting-for-84-visibility-maps/