मैं डेटाबेस माइग्रेशन की शुद्धता को सत्यापित करना चाहता हूं जो कुछ तालिकाओं में ट्रिगर्स जोड़ता है। मैं sqitch का उपयोग कर रहा हूं, इसलिए मैं इसे SQL क्वेरी के साथ जांचने का एक तरीका ढूंढना चाहता हूं। मेरा मानना है कि पोस्टग्रेस सिस्टम टेबल के साथ यह संभव होना चाहिए, लेकिन मुझे वर्तमान में ऐसा करने का कोई तरीका नहीं मिल रहा है।पोस्टग्रेएसक्यूएल में ट्रिगर मौजूद है या नहीं?
6
A
उत्तर
11
कैटलॉग pg_trigger का उपयोग करें।
एक मेज books
के लिए एक सरल देखने:
select tgname
from pg_trigger
where not tgisinternal
and tgrelid = 'books'::regclass;
tgname
---------------
books_trigger
(1 row)
pg_proc
का उपयोग करते हुए ट्रिगर समारोह का स्रोत प्राप्त करने के लिए:
select pg_get_triggerdef(t.oid) as "trigger declaration"
from pg_trigger t
where not tgisinternal
and tgrelid = 'books'::regclass;
trigger declaration
--------------------------------------------------------------------------------------------------------------
CREATE TRIGGER books_trigger BEFORE INSERT OR UPDATE ON books FOR EACH ROW EXECUTE PROCEDURE books_trigger()
(1 row)
संबंधित मुद्दे
- 1. पोस्टग्रेएसक्यूएल ट्रिगर सम्मिलित करें या अपडेट करें
- 2. पोस्टग्रेएसक्यूएल त्रुटि: 42 पी 01: रिलेशनशिप "[टेबल]" मौजूद नहीं है
- 3. पोस्टग्रेएसक्यूएल में मौजूद नहीं होने पर वाक्यविन्यास त्रुटि
- 4. संघ में पैडिंग मौजूद है या नहीं
- 5. डेटाटेबल में पंक्ति मौजूद है या नहीं?
- 6. यदि स्थिति मौजूद है तो MySQL ट्रिगर
- 7. पोस्टग्रेएसक्यूएल ट्रिगर परीक्षण वातावरण में नहीं कहा जाता है (आरएसपीईसी चलाते समय)
- 8. विस्क्रिप्ट: विशिष्ट फ़ाइल मौजूद है या नहीं,
- 9. जांचें कि फ़ाइल मौजूद है या नहीं,
- 10. यदि मौजूद है या मौजूद है?
- 11. यदि सत्र मौजूद है या नहीं
- 12. PHP में __call() ट्रिगर जब भी विधि मौजूद है
- 13. क्या पोस्टग्रेएसक्यूएल ओएस एक्स मैवरिक्स पर मौजूद है?
- 14. केवल पोस्टग्रेएसक्यूएल तालिका में प्राथमिक कुंजी जोड़ें यदि यह मौजूद नहीं है
- 15. बंडल "ApplicationSonataUserBundle" मौजूद नहीं है या यह सक्षम नहीं है
- 16. डेटाकॉन्टेक्स्ट टेबल या दृश्य मौजूद है या नहीं,
- 17. पोस्टग्रेएसक्यूएल के लिए EXISTS नहीं है तो डेटाबेस बनाएं?
- 18. पैकेज संकलन में बाईपास "तालिका या दृश्य मौजूद नहीं है"
- 19. फ़ोल्डर इनबॉक्स में मौजूद है या नहीं, तो
- 20. जांचें कि निर्देशिका में निर्देशिका मौजूद है या नहीं?
- 21. नामस्थान में टाइप या नेमस्पेस नाम 'DirectoryServices' मौजूद नहीं है?
- 22. जांचें कि संग्रहित प्रो डीबी में मौजूद है या नहीं?
- 23. क्या $ _SERVER ['HTTP_X_REQUESTED_WITH'] PHP में मौजूद है या नहीं?
- 24. जांचें कि डीबी में भूमिका मौजूद है या नहीं?
- 25. रेल में छवि मौजूद है या नहीं, यह कैसे जांचें?
- 26. std :: map में कोई तत्व मौजूद है या नहीं?
- 27. मैटलैब में कोई फ़ाइल मौजूद है या नहीं?
- 28. जांचें कि रेल में कोई लेआउट मौजूद है या नहीं?
- 29. जावा 8 स्ट्रीम में कोई डुप्लिकेट मौजूद है या नहीं?
- 30. वीबीस्क्रिप्ट में कोई पोस्ट सबमिट फ़ील्ड मौजूद है या नहीं?
:
pg_get_triggerdef()
समारोह उपयोग के उदाहरण मैंने वास्तव में यह कोशिश की है और काफी उलझन में था। अजीब चीज है: मुझे 7 'tgname' की तरह इस 'RI_ConstraintTrigger_c_195564' की तरह दिख रहा है। मैं postgresql 9.4 का उपयोग कर रहा हूं। – dredozubovवे आंतरिक बाधा ट्रिगर्स हैं। संपादित उत्तर में, उन्हें छोड़ने के लिए 'tgisinternal'' का उपयोग करें। – klin
धन्यवाद! यह मदद करता है! – dredozubov