आप सिस्टम कैटलॉग में सभी निर्भरताएँ पा सकते हैं pg_depend
।
यह प्रकार के आधार पर सभी फ़ंक्शन देता है . अर्थात। न केवल RETURNS
. में टाइप वाले क्लॉज, लेकिन फ़ंक्शन पैरामीटर के प्रकार वाले भी:
SELECT objid::regproc AS function_name
, pg_get_functiondef(objid) AS function_definition
, pg_get_function_identity_arguments(objid) AS function_args
, pg_get_function_result(objid) AS function_returns
FROM pg_depend
WHERE refclassid = 'pg_type'::regclass
AND refobjid = 'my_type'::regtype -- insert your type name here
AND classid = 'pg_proc'::regclass; -- only find functions
यह टेबल फंक्शंस के लिए भी काम करता है:
...
RETURNS TABLE (foo my_type, bar int)
सिस्टम कैटलॉग जानकारी फ़ंक्शंसका उपयोग करना ए> ।
अन्य निर्भरताएँ हो सकती हैं (कार्यों के लिए नहीं)। अंतिम WHERE
निकालें मेरी क्वेरी से परीक्षण के लिए स्थिति (और SELECT
. को अनुकूलित करें सूची, जाहिर है)।
और फ़ंक्शन बॉडी या डायनेमिक SQL में प्रश्नों में स्पष्ट रूप से (उदाहरण के लिए एक कास्ट में) प्रकार के उपयोग की संभावना अभी भी है। आप केवल फ़ंक्शन बॉडी के टेक्स्ट को पार्स करके ऐसे उपयोग के मामलों की पहचान कर सकते हैं। सिस्टम में कोई स्पष्ट निर्भरता पंजीकृत नहीं है।
संबंधित:
- फ़ंक्शन पैरामीटर सूचियां कैसे प्राप्त करें (ताकि मैं कोई फ़ंक्शन छोड़ सकूं)
- पैरामीटर की संख्या/प्रकार को जाने बिना ड्रॉप फ़ंक्शन?