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

CREATE FUNCTION के एक स्ट्रिंग होने के बाद का कोड क्या दर्शाता है?

PostgreSQL अत्यधिक एक्स्टेंसिबल है, और उदाहरण के लिए आप कार्यों को लिखने के लिए अपनी स्वयं की प्रक्रियात्मक भाषा को परिभाषित कर सकते हैं।

PostgreSQL भाषा के बारे में कुछ भी नहीं जानता है सिवाय इसके कि उसे एक निश्चित भाषा हैंडलर . को कॉल करना पड़ता है फ़ंक्शन को निष्पादित करने के लिए।

इसे लागू करने के लिए जिस तरह से चुना गया था वह कोड को एक स्ट्रिंग के रूप में पास करना आसान बनाना है।

यह केवल एक कार्यान्वयन विवरण है और अन्य RDBMS की तुलना में PostgreSQL कार्यों को SQL इंजेक्शन के प्रति अधिक या कम संवेदनशील नहीं बनाता है।

ऐसे कई स्तर हैं जिन पर आपको इंजेक्शन से अपना बचाव करना होता है:

  • फ़ंक्शन तर्क:यहां आपको जब भी संभव हो गैर-स्ट्रिंग डेटा प्रकार चुनना चाहिए।

  • फ़ंक्शन के भीतर SQL कथन:यहां आपको जब भी संभव हो गतिशील SQL से बचना चाहिए, और यदि आपको गतिशील SQL का उपयोग करना है, तो आपको %L का उपयोग करके चर सम्मिलित करना चाहिए format . का पैटर्न समारोह।

फिर, यह वही है यदि फ़ंक्शन निकायों को स्ट्रिंग के रूप में निर्दिष्ट किया गया है या नहीं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्यों pg_restore सफलतापूर्वक लौट रहा है लेकिन वास्तव में मेरे डेटाबेस को पुनर्स्थापित नहीं कर रहा है?

  2. PostgreSQL:मैं किसी फ़ंक्शन के अंदर से search_path कैसे सेट करूं?

  3. पोस्टग्रेज से पायथन में डेटा स्ट्रीम करना

  4. (एक टेबल) पंक्तियाँ डालें

  5. मैं पूरे दिन को डेटाटाइम फ़ील्ड से कैसे मेल करूं?