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

तैयार प्रश्नों को डी-आवंटित करना

स्टेटमेंट को डीलोकेट करते समय, pg_query . का रिटर्न वैल्यू सफलता को इंगित करता है या नहीं, जैसे किसी भी "उपयोगिता कथन" के लिए। विफलता पर इसे झूठी वापसी करनी चाहिए। उदाहरण के लिए:

 if (!pg_query($cnx, "deallocate foobar")) {
   echo "Error deallocate: " . pg_last_error($cnx);
 }
 else {
  echo "deallocate successful";
 }

यह प्रदर्शित करता है:

ध्यान दें कि डिलीकेट करने के लिए स्टेटमेंट नाम सिंगल कोट्स से घिरा नहीं होना चाहिए, क्योंकि यह एक पहचानकर्ता है, स्ट्रिंग अक्षर नहीं। यदि इसे समस्याग्रस्त वर्णों के कारण संलग्न करने की आवश्यकता है, तो इसे pg_escape_identifier (php> =5.4.4)

एक सत्र को साफ करने के लिए, तैयार किए गए कथनों पर पुनरावृति करना और उन्हें एक-एक करके हटाना भी आवश्यक नहीं है, आप DEALLOCATE ALL इसके बजाय, अभी भी pg_query . के साथ ।

एक अन्य कथन भी है जो एक प्रश्न में अधिक सफाई करता है:DISCARD ALL

इसके अलावा, इसमें से कोई भी आवश्यक नहीं है यदि स्क्रिप्ट वास्तव में पोस्टग्रेज से डिस्कनेक्ट हो जाती है, क्योंकि तैयार किए गए बयान उनके मूल सत्र के लिए स्थानीय होते हैं और इसके साथ मर जाते हैं।

स्क्रिप्ट के बीच कनेक्शन का पुन:उपयोग करते समय स्पष्ट सफाई आवश्यक है, या तो PHP द्वारा लगातार कनेक्शन के साथ (pg_pconnect ), या कनेक्शन पूलर जैसे pgBouncer (हालांकि पूलर स्वयं DISCARD ALL . को कॉल कर सकता है इसके विन्यास के आधार पर)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विदेशी कुंजी और प्राथमिक कुंजी पर पोस्टग्रेज और इंडेक्स

  2. PostgreSQL में XML फ़ाइलें आयात करें

  3. PostgreSQL - डेटाबेस उपयोगकर्ता 'पोस्टग्रेज' के रूप में बैश स्क्रिप्ट से क्वेरी

  4. PostgreSQL दो टाइमस्टैम्प के बीच मध्यबिंदु खोजने के लिए

  5. पंक्ति गणना पुनर्प्राप्त करना और कोई पंक्ति नहीं होने पर 0 लौटना