pg_getfunctiondef
. का उपयोग करें; सिस्टम सूचना कार्य देखें। pg_getfunctiondef
PostgreSQL 8.4 में जोड़ा गया था।
SELECT pg_get_functiondef('proc_name'::regproc);
स्कीमा में सभी कार्यों को डंप करने के लिए आप pg_catalog
. में सिस्टम टेबल को क्वेरी कर सकते हैं; कहें कि क्या आप public
. से सब कुछ चाहते हैं :
SELECT pg_get_functiondef(f.oid)
FROM pg_catalog.pg_proc f
INNER JOIN pg_catalog.pg_namespace n ON (f.pronamespace = n.oid)
WHERE n.nspname = 'public';
pg_
से शुरू होने वाले स्कीमा को छोड़कर सभी स्कीमाओं से " कहने के लिए उपरोक्त को बदलना तुच्छ है " इसके बजाय अगर आप यही चाहते हैं।
psql
. में आप इसे एक फ़ाइल में डंप कर सकते हैं:
psql -At dbname > /path/to/output/file.sql <<"__END__"
... the above SQL ...
__END__
आउटपुट को दूसरे DB में चलाने के लिए, कुछ इस तरह का उपयोग करें:
psql -1 -v ON_ERROR_STOP -f /path/to/output/file.sql target_db_name
यदि आप इस तरह डीबी के बीच कार्यों की नकल कर रहे हैं, हालांकि, svn या git जैसे संशोधन नियंत्रण प्रणाली में SQL स्क्रिप्ट के रूप में फ़ंक्शन परिभाषाओं की आधिकारिक प्रतिलिपि को संग्रहीत करने पर विचार करें, अधिमानतः एक PostgreSQL एक्सटेंशन के रूप में पैक किया गया। पैकेजिंग एक्सटेंशन देखें।