यह एक गलतफहमी है। Postgres "प्रारूप में परिवर्तन" नहीं करता है। मूल SQL स्ट्रिंग अभी संग्रहीत नहीं है बिल्कुल ।
क्वेरी को पार्स किया जाता है और फिर से लिखा जाता है और क्वेरी के प्रकार के आधार पर कार्रवाई की जाती है। उदाहरण के लिए , जब आप दृश्य . बनाते हैं , परिणाम सिस्टम कैटलॉग में संग्रहीत किए जाते हैं, ज्यादातर pg_class
और pg_rewrite
।
आपको यह भी पता होना चाहिए कि सभी पहचानकर्ताओं को डेटाबेस ऑब्जेक्ट के निर्माण के समय हल किया जाता है, वर्तमान search_path
और खाते में दृश्यता (प्रारंभिक बाध्यकारी)। यदि परिवेश किसी भी तरह से बदलता है, तो उसी क्वेरी स्ट्रिंग का अर्थ बाद में कुछ अलग हो सकता है।
जो आप बाद में देखते हैं वह एक पुन:इंजीनियर . है इन प्रविष्टियों से निर्मित संस्करण। कुछ अंतर्निहित कार्य हैं ए> इसमें मदद करने के लिए, लेकिन यह काफी हद तक क्लाइंट पर निर्भर करता है कि रिवर्स-इंजीनियर SQL कोड को कैसे फ़ॉर्मेट किया जाए।
कार्य अपवाद हैं (आंशिक रूप से)। फ़ंक्शन बॉडी को स्ट्रिंग के रूप में पास किया जाता है और जैसा है . सहेजा जाता है , जैसा कि पारित किया गया है, (वर्तमान में) केवल सतही वाक्यविन्यास परीक्षण और वस्तुओं के सत्यापन के साथ। यदि आप किसी क्वेरी को पोस्टग्रेज़ के अंदर उसके स्वरूप सहित "सेव" करने का एक त्वरित तरीका चाहते हैं, तो आप उदाहरण के लिए PL/pgSQL फ़ंक्शन का उपयोग कर सकते हैं।
सामान्य तरीका यह है कि @Mike पहले से ही सुझाए गए जैसे एक स्वतंत्र कोड रिपॉजिटरी हो। - या प्रारूप की बहुत अधिक परवाह न करें।