PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

कैसे जांचें कि कौन सा फ़ंक्शन किसी प्रकार का उपयोग करता है?

आप सिस्टम कैटलॉग में सभी निर्भरताएँ पा सकते हैं 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 में प्रश्नों में स्पष्ट रूप से (उदाहरण के लिए एक कास्ट में) प्रकार के उपयोग की संभावना अभी भी है। आप केवल फ़ंक्शन बॉडी के टेक्स्ट को पार्स करके ऐसे उपयोग के मामलों की पहचान कर सकते हैं। सिस्टम में कोई स्पष्ट निर्भरता पंजीकृत नहीं है।

संबंधित:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. हाइबरनेट/पोस्टग्रेएसक्यूएल के साथ एलओबी स्ट्रिंग संपत्ति में यूरो-साइन स्टोर नहीं कर सकता है

  2. वर्डप्रेस के लिए सिंगल एंडपॉइंट के साथ अत्यधिक उपलब्ध पोस्टग्रेएसक्यूएल को कैसे तैनात करें

  3. SQLAlchemy और मल्टीप्रोसेसिंग का उपयोग करके Python स्क्रिप्ट में हैंग करें

  4. PostgreSQL में रेल टाइमज़ोन नामों को कैसे मैप करें?

  5. पोस्टग्रेज त्रुटि विधि org.postgresql.jdbc.PgConnection.createClob () लागू नहीं है