Theo các bình luận trong nguồn , truncate
tạo một tệp lưu trữ mới, trống và xóa tệp lưu trữ cũ tại thời điểm cam kết. (Tài liệu đề xuất "tệp lưu trữ" chỉ là một tệp có liên quan đến HĐH, nhưng tôi có thể hiểu nhầm thuật ngữ này.)
Tạo một tệp lưu trữ trống mới cho mối quan hệ và gán nó làm giá trị relfilenode. Các tập tin lưu trữ cũ được lên kế hoạch để xóa tại cam kết.
Vì nó dường như đang xóa một tập tin, tôi có thể tưởng tượng một số trường hợp trong đó hệ điều hành cơ bản có thể không giải phóng không gian đó ngay lập tức. Tôi tưởng tượng rằng trong một số trường hợp, tệp lưu trữ có thể kết thúc trong Thùng tái chế trong Windows chẳng hạn. Nhưng trong trường hợp của tôi, việc cắt bớt một bảng trong PostgreSQL 9. một cái gì đó ngay lập tức tăng quyền tự do trong Windows.
Cắt ngắn cũng được ghi lại trong nhật ký WAL. Tôi không biết có bao nhiêu tác dụng.