TRUNCATE
phải xóa shared_buffers
vì bảng bị cắt ngắn và nó phải hủy liên kết tệp cũ, điều này có thể làm chậm trên các hệ thống tệp có tính năng xóa chậm như ext3
.
Tuy nhiên, 1,5 giờ là khá cao, vì chúng ta thường nói nhiều nhất là vài giây. Rất có thể bạn có các phiên khác đang giữ khóa trên bảng ngăn TRUNCATE
khỏi tiến hành. Xem pg_catalog.pg_locks
và pg_catalog.pg_stat_activity
.
Bài viết trên wiki PostgreSQL về giám sát khóa sẽ hữu ích.
Xem thêm: Tốc độ cắt bỏ Postgresql