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

सभी प्रक्रियात्मक, उपयोगकर्ता परिभाषित कार्य प्राप्त करें

विचार करें:

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 भाषा फ़ंक्शन बना सकते हैं, उन्हें बाहर करें। इस तरह के कार्यों को व्यवस्थापक द्वारा किसी विशेष डेटाबेस पर कस्टम-इंस्टॉल किया जा सकता है, लेकिन सामान्य उपयोगकर्ता नहीं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cloud9 + रेल + Postgresql उपयोग

  2. Tsrange - दो श्रेणियों के बीच अंतर की गणना

  3. JDBC के माध्यम से PostgreSQL तालिका में daterange फ़ील्ड मान डालें

  4. पीएल/पीजीएसक्यूएल के साथ निकटतम एक्स मिनट तक कैसे जाएं?

  5. django RDS postgresql से कनेक्ट नहीं हो सकता