में कुछ अच्छा है, संबंधित चर्चा नहीं है यह एक समय हो गया है के बाद से यह सवाल पूछा गया था, आशा कर सकते हैं। क्योंकि आप डीबी संरचना को बदल या परिवर्तित नहीं कर सकते हैं, आप यह कर सकते हैं। postgresql docs के अनुसार।
TRUNCATE - तालिका या टेबल के सेट को खाली करें।
TRUNCATE [ TABLE ] [ ONLY ] name [ * ] [, ... ]
[ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
विवरण
TRUNCATE जल्दी से तालिकाओं का एक सेट से सभी पंक्तियों को हटा। यह प्रत्येक तालिका पर एक अयोग्य डिलीट के समान प्रभाव है, लेकिन चूंकि यह वास्तव में तालिकाओं को स्कैन नहीं करता है, यह तेज़ है। इसके अलावा, यह बाद के वाक्यूम ऑपरेशन की आवश्यकता के बजाय तुरंत डिस्क स्थान पुनः प्राप्त करता है। यह बड़ी टेबल पर सबसे उपयोगी है।
किसी भी तालिका कि विदेशी कुंजी की कमी के माध्यम से othertable संदर्भ के लिए मेज othertable, और झरना छोटा करें:
TRUNCATE othertable CASCADE;
ही, और भी अन्य संबद्ध अनुक्रम जनरेटर रीसेट:
TRUNCATE bigtable, fattable RESTART IDENTITY;
किसी भी संबंधित अनुक्रम जनरेटर को छंटनी और रीसेट करें:
TRUNCATE revinfo RESTART IDENTITY CASCADE ;
इस पर भी जांचें [हटाए गए कैस्केड पर) (http://stackoverflow.com/questions/10356484/how-to-add-on-delete-cascade-constraints);) यह अच्छी तरह से आपकी तालिका में सेटिंग्स रखना अच्छा है हालांकि .. जब 'विदेशी कुंजी बनाना' हम 'माता-पिता को तब बच्चे' जोड़ते हैं। तो जब हम 'बच्चे को हटाएं और फिर माता-पिता' हटाते हैं;) – bonCodigo