स्रोत में टिप्पणियों के अनुसार , truncate
एक नई, खाली भंडारण फ़ाइल बनाता है, और प्रतिबद्ध समय में पुरानी भंडारण फ़ाइल को हटा देता है। (डॉक्स का सुझाव है कि "स्टोरेज फाइल" सिर्फ एक फाइल है जहां तक ओएस का संबंध है, लेकिन मुझे शब्दावली में गलतफहमी हो सकती है।)
रिलेशन के लिए एक नई खाली स्टोरेज फ़ाइल बनाएं, और इसे relfilenode मान के रूप में असाइन करें। पुरानी संग्रहण फ़ाइल को हटाने के लिए निर्धारित किया गया है।
चूँकि यह किसी फ़ाइल को हटाने के लिए प्रतीत होता है, मैं कुछ मामलों की कल्पना कर सकता हूँ जिनमें अंतर्निहित ऑपरेटिंग सिस्टम उस स्थान को तुरंत मुक्त नहीं कर सकता है। मैं कल्पना करता हूं कि कुछ मामलों में भंडारण फ़ाइल विंडोज के तहत रीसाइक्लिंग बिन में समाप्त हो सकती है, उदाहरण के लिए। लेकिन मेरे मामले में, PostgreSQL 9.something के तहत एक टेबल को काटकर तुरंत विंडोज के तहत फ्रीस्पेस को बढ़ा दिया गया।
वाल लॉग में ट्रंकेशन भी दर्ज किया गया है। मुझे नहीं पता कि इसका कितना असर हो सकता है।