मैं Psql के साथ ट्रिगर की सामग्री कैसे दिखा सकता हूं?


13

मुझे पता है कि मैं ट्रिगर को सूचीबद्ध कर सकता हूं \dft। लेकिन मैं एक ठोस ट्रिगर कैसे देख सकता हूं? मैं विवरण जानना चाहता हूं कि कौन सी घटनाओं पर ट्रिगर निष्पादित होता है, कौन सा फ़ंक्शन निष्पादित होता है और इसी तरह।

जवाबों:


24

ठीक है, मुझे इसके बारे में पता चला।

कमांड \dftट्रिगर को स्वयं नहीं दिखाता है (जैसा मैंने सोचा था), यह सभी ट्रिगर-फ़ंक्शंस (रिटर्न-टाइप ट्रिगर) दिखाता है।

आपके द्वारा किए जा सकने वाले ट्रिगर को देखने के लिए \dS <tablename>, यह न केवल इस तालिका के स्तंभ दिखाता है, बल्कि इस तालिका में परिभाषित सभी ट्रिगर भी करता है।

ट्रिगर-फंक्शन (या किसी फ़ंक्शन) के स्रोत का उपयोग करने के लिए \df+ <functionname>


1
अधिक सुविधाजनक रीड्स के लिए \ ef <function_name> का उपयोग करें।
ब्रेन 90

7

यदि आपके पास psll कमांड तक पहुंच नहीं है, तो आप अभी भी उपयोग कर सकते हैं:

select pg_get_functiondef('functionname'::regproc);

2

आप निम्नलिखित की कोशिश कर सकते हैं:

SELECT event_object_table,trigger_name,event_manipulation,action_statement,action_timing FROM information_schema.triggers ORDER BY event_object_table,event_manipulation

या आप इस तरह 'टेस्टटेबल' नामक तालिका के ट्रिगर दिखा सकते हैं:

SELECT event_object_table,trigger_name,event_manipulation,action_statement,action_timing FROM information_schema.triggers WHERE event_object_table='testtable' ORDER BY event_object_table,event_manipulation
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.