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

क्या मैं कच्चे एसक्यूएल को लॉग करने के लिए एक्टो प्राप्त कर सकता हूं?

एक्टो केवल तैयार बयानों का उपयोग करता है। एक्टो क्वेरी सिंटैक्स का उपयोग करते समय, SQL इंजेक्शन शुरू करना संभव नहीं है। क्वेरी सिंटैक्स संकलन-समय पर सत्यापित करता है कि कोई SQL इंजेक्शन संभव नहीं है।

निष्पादित प्रश्नों को ठीक-ठीक दिखाना कुछ कारणों से कठिन हो सकता है:

  • पोस्टग्रेक्स (और इसलिए एक्टो) पोस्टग्रेस्क्ल बाइनरी प्रोटोकॉल (सबसे सामान्य, लेकिन कम कुशल, टेक्स्ट प्रोटोकॉल के बजाय) का उपयोग करता है, इसलिए PREPARE क्वेरी वास्तव में एक स्ट्रिंग के रूप में मौजूद नहीं है।
  • ज्यादातर मामलों में आप देखेंगे कि एक प्रारंभिक PREPARE 64237612638712636123(...) AS ... होगा और बाद में बहुत सारे EXECUTE 64237612638712636123(...) जो इतना मददगार नहीं है। एक दूसरे से जोड़ने की कोशिश करना भयानक होगा।

मेरे अनुभव से उस तरह के अधिकांश सॉफ़्टवेयर, कच्चे प्रश्नों के बजाय बयान तैयार करें और उन्हें लॉग करें, क्योंकि यह सिस्टम के व्यवहार को समझने में बहुत अधिक सहायक है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज़ नई पंक्ति का संदर्भ देने वाली पंक्ति के लिए NULL मान फ़ंक्शन करता है

  2. क्या SQLAlchemy में bool_and कुल कार्य है?

  3. मैक ओएसएक्स पर प्लापीथन द्वारा उपयोग किए गए पायथन संस्करण को कैसे बदलें?

  4. पोस्टग्रेज कॉलम मौजूद नहीं है

  5. PostgreSQL:फ़्रीक्वेंसी टेबल विस्तार