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

मुझे एक त्रुटि मिलती है जो ब्लॉक नहीं लिख सकता .... अस्थायी फ़ाइल का कोई स्थान नहीं बचा है ... postgresql का उपयोग कर

ठीक है। जैसा कि अभी भी कुछ तथ्य गायब हैं, शायद इस मुद्दे को स्पष्ट करने के लिए उत्तर देने का प्रयास:

ऐसा प्रतीत होता है कि आपके पास डिस्क स्थान समाप्त हो रहा है। सबसे अधिक संभावना है क्योंकि आपके पास अपनी डिस्क पर पर्याप्त जगह नहीं है। Linux/Unix df -h पर जांच करें उदाहरण के लिए।

आपको यह दिखाने के लिए, यह कैसे हो सकता है:3 पूर्णांकों वाली एक तालिका होने से अकेले डेटा लगभग 12Byte पर कब्जा कर लेगा। आपको पंक्ति प्रबंधन आदि के लिए इसमें कुछ ओवरहेड जोड़ने की आवश्यकता है। एक अन्य उत्तर पर इरविन ने 23Byte के बारे में उल्लेख किया और इसके बारे में अधिक जानकारी के लिए मैनुअल से लिंक किया। इसके अलावा कुछ पैडिंग बीच पंक्तियों आदि की आवश्यकता हो सकती है। इसलिए थोड़ा गणित कर रहे हैं:

यहां तक ​​कि एक 3 पूर्णांक के साथ हम लगभग 40 बाइट प्रति पंक्ति पर समाप्त हो जाएंगे। यह ध्यान में रखते हुए कि आप 8,000,000 डालना चाहते हैं, इसका योग 320,000,000Byte या ~ 300MB (केवल हमारे 3 पूर्णांक उदाहरण के लिए और बहुत मोटे तौर पर) होगा।

अब देते हुए, आपके पास इस टेबल पर कुछ इंडेक्स हैं, इंसर्ट के दौरान इंडेक्स भी बढ़ेगा। इसके अलावा एक और पहलू टेबल और इंडेक्स पर ब्लोट हो सकता है जिसे वैक्यूम से साफ किया जा सकता है।

तो समाधान क्या है:

  1. अपने डेटाबेस को अधिक डिस्क स्थान प्रदान करें
  2. अपने इंसर्ट को थोड़ा और विभाजित करें और सुनिश्चित करें कि उनके बीच वैक्यूम चल रहा है


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विधि को कैसे हल करें org.postgresql.jdbc.PgConnection.createBlob () अभी तक लागू नहीं किया गया है

  2. Doctrine2 आईडी कॉलम (पोस्टग्रेज) के लिए अनुक्रम को डिफ़ॉल्ट पर सेट नहीं करता है

  3. Laravel:त्रुटि [PDOException]:PostgreSQL में ड्राइवर नहीं ढूँढ सका

  4. ActiveRecord ::StatementInvalid:PG ::त्रुटि:त्रुटि:हरोकू में केवल-पढ़ने के लिए लेनदेन त्रुटि में अद्यतन निष्पादित नहीं कर सकता

  5. लुमेन - रनटाइम पर डेटाबेस कनेक्शन बनाएं