आपकी सहायता के लिए एक आसान कार्य है:oidvectortypes
।
SELECT format('%I.%I(%s)', ns.nspname, p.proname, oidvectortypes(p.proargtypes))
FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid);
तर्कों के साथ सभी कार्यों को दिखाता है। आप उस format
. को अनुकूलित कर सकते हैं किसी भी वांछित कथन को उत्पन्न करने के लिए मंत्र, और यदि आप चाहें, तो LOOP
इसके ऊपर जेनरेट किए गए स्टेटमेंट को EXECUTE
. में फीड करने के लिए पीएल/पीजीएसक्यूएल में।
पोस्टग्रेज़ में लियो ह्सू और रेजिना ओबे को श्रेय ऑनलाइन
oidvectortypes
. को इंगित करने के लिए . मैंने पहले भी इसी तरह के फंक्शन लिखे थे, लेकिन जटिल नेस्टेड एक्सप्रेशंस का इस्तेमाल किया था जिससे इस फंक्शन की जरूरत खत्म हो जाती है।
ध्यान दें कि इस मामले में आपको कोई कस्टम SQL जेनरेशन बिल्कुल भी करने की ज़रूरत नहीं है , यद्यपि। बस GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA myschema TO ...
यदि आप हाल ही में पोस्टग्रेएसक्यूएल पर हैं।