आपको दो जगहों पर डिबगिंग को सक्षम करना होगा। PGAdmin पर और डेटाबेस पर ही। आपने जिस लेख का उल्लेख किया है, वह इसे समझाने में बहुत अच्छा काम करता है लेकिन कुछ बारीकियां थीं।
PGAdmin
अपना postgresql.conf
अपडेट करते समय डिबगिंग लाइब्रेरी लोड करने के लिए फ़ाइल, मैं Windows पर PGAdmin चला रहा था
तो फ़ाइल यहाँ थी:
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
और plugin_debugger.dll
. का पथ वास्तव में था
$libdir/plugin_debugger.dll
नहीं
$libdir/plugins/plugin_debugger.dll
जैसा कि लेख में निर्दिष्ट है। तो आपका postgresql.conf
इस तरह की एक पंक्ति की आवश्यकता होगी
shared_preload_libraries = '$libdir/plugin_debugger.dll'
यदि आप संदेह में हैं तो वास्तविक .dll खोजें। यदि आप Linux पर हैं तो आप जिस फ़ाइल की तलाश कर रहे हैं वह है plugin_debugger.so
. यह न भूलें कि postgresql.conf
. को बदलना परिवर्तन को प्रभावी करने के लिए फ़ाइल को पुनरारंभ करने की आवश्यकता होगी।
PostgreSQL डेटाबेस
मान लें कि आप अपना PostgreSQL डेटाबेस एक Linux सर्वर इस सार पर चला रहे हैं डिबगिंग को सक्षम करने के लिए निर्भरता को कैसे डाउनलोड करें, यह समझाने में एक उत्कृष्ट काम करता है। सुनिश्चित करें कि इंस्टॉल करते समय आप रूट के रूप में चल रहे हैं।
जिस भाग को याद करना आसान है वह उस वास्तविक डेटाबेस के विरुद्ध आदेश जारी कर रहा है जिसे आप डीबग करना चाहते हैं। PostgreSQL पर नए संस्करणों के लिए आपको बस इतना करना होगा:
CREATE EXTENSION IF NOT EXISTS pldbgapi;
अगर वह कोई त्रुटि नहीं लौटाता है, तो आपको जाना अच्छा होगा।
ध्यान देने योग्य कुछ अतिरिक्त बातें:
- जैसा कि ऊपर बताया गया है, आप केवल सुपर उपयोगकर्ता खाते के रूप में चलते समय ही डिबग कर सकते हैं
- उनके डॉक्स
से आप केवल pl/pgsql फ़ंक्शंस डीबग कर सकते हैं। तो अगर आपका फंक्शन कुछ ऐसा कहता है
LANGUAGE c
जब आप फ़ंक्शन का चयन करते हैं तो PGAdmin एक राइट-क्लिक डीबग मेनू विकल्प भी नहीं दिखाएगा। कुछ ऐसा खोजें जिसमेंLANGUAGE plpgsql
हो और डीबग मेनू दिखाना चाहिए।