टैग पर एक pgsql ईवेंट ट्रिगर में वैकल्पिक तालिका, मैं जानना चाहता हूं कि कौन सी तालिका बदल दी जा रही है।पोस्टग्रेस इवेंट ट्रिगर से SQL टेक्स्ट कैसे प्राप्त करें
पीजी वैरिएबल इसमें शामिल नहीं होते हैं, न ही स्टैक्ड डायग्नोस्टिक द्वारा प्राप्त किए गए चर को करते हैं।
उपलब्ध चर के साथ, ट्रिगर फ़ंक्शन के भीतर फ़ंक्शन शुरू करने के लिए जिम्मेदार SQL कमांड के पाठ को देखने के लिए कोई तरीका है।
उदाहरण के लिए, अगर
ALTER TABLE base1 ADD COLUMN col1 int;
घटना ट्रिगर फोन करने के लिए जिम्मेदार थे, वहाँ घटना ट्रिगर के भीतर किसी भी तरह से तो ALTER TABLE base1 ADD COLUMN col1 int
पाठ में ही देखने के लिए है?
'चयन current_query()'। लेकिन यह केवल * शीर्ष स्तर * क्वेरी दिखाएगा, जो आवश्यक नहीं है कि ईवेंट ट्रिगर को किसने निकाल दिया - कहें, अगर आपने पीएल/पीजीएसक्यूएल फ़ंक्शन के साथ 'वैकल्पिक तालिका' की है। आदेश ट्रिगर को कमांड के बारे में अधिक जानकारी जोड़ने के लिए बढ़ाया जाएगा, लेकिन वर्तमान में 9.3/9.4 में बहुत सीमित है। –
@ क्रेग्रिंजर - धन्यवाद। विस्तार के लिए तत्पर हैं! –
यदि आप सी में एक ईवेंट ट्रिगर लिखते हैं, तो आपके पास कमांड का पार्स पेड़ भी है। http://www.postgresql.org/docs/9.3/static/event-trigger-interface.html निश्चित रूप से उस पर भरोसा करने का सबसे अच्छा तरीका नहीं है, लेकिन यह सुविधा तब तक बढ़ी है जब तक यह सुविधा विस्तारित न हो जाए। – pozs