विचार करें:
pg_proc ppinner सेselect
pp.proname,
pl.lanname,
pn.nspname,
pg_get_functiondef(pp.oid)
from pg_proc pp
inner join pg_namespace pn on (pp.pronamespace = pn.oid)
inner join pg_language pl on (pp.prolang = pl.oid)
where pl.lanname NOT IN ('c','internal')
and pn.nspname NOT LIKE 'pg_%'
and pn.nspname <> 'information_schema';
यह भी देखें:postgresql में किसी मौजूदा फ़ंक्शन की स्क्रिप्ट खोजने के लिए क्या कमांड है?
pg_get_functiondef
का उपयोग करें या prosrc
pg_proc
. से कॉलम सीधे। मुख्य विचार pg_namespace
. पर शामिल होना है और PostgreSQL कैटलॉग फ़ंक्शंस को फ़िल्टर करें, जो संभवतः अधिकांश उद्देश्यों के लिए पर्याप्त होगा:
FROM pg_proc pp INNER JOIN pg_namespace ON (pp.pronamespace = pn.oid)
WHERE pn.nspname <> 'pg_catalog'
उपयोगकर्ता परिभाषित . के लिए स्रोत कोड प्राप्त करने में समस्या फ़ंक्शन यह तय कर रहा है कि उपयोगकर्ता . क्या है साधन। कई प्रकार के फंक्शन बनाए जा सकते हैं:
CREATE EXTENSION
का उपयोग करके कार्य करता है ।- PostgreSQL द्वारा बनाए गए कार्य।
- एक व्यवस्थापक द्वारा संकलित और स्थापित कार्य।
पर्याप्त अनुदान वाले सुपरयूज़र pg_proc
. में फ़ंक्शन को परिभाषित कर सकते हैं , लेकिन आमतौर पर नहीं।
चूंकि केवल सुपरयूज़र ही C भाषा फ़ंक्शन बना सकते हैं, उन्हें बाहर करें। इस तरह के कार्यों को व्यवस्थापक द्वारा किसी विशेष डेटाबेस पर कस्टम-इंस्टॉल किया जा सकता है, लेकिन सामान्य उपयोगकर्ता नहीं।