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

psql के साथ त्रुटियों को कैसे अनदेखा करें \ कॉपी मेटा-कमांड

आप पूरी कमांड को छोड़े बिना और पोस्टग्रेज 14 को शामिल किए बिना त्रुटियों को नहीं छोड़ सकते। वर्तमान में कोई और अधिक परिष्कृत त्रुटि प्रबंधन नहीं है।

\copy SQL COPY के चारों ओर बस एक आवरण है कि चैनल psql के माध्यम से परिणाम देता है। COPY . के लिए मैनुअल :

<ब्लॉकक्वॉट>

COPY पहली त्रुटि पर संचालन बंद कर देता है। इससे COPY TO . की स्थिति में समस्या उत्पन्न नहीं होनी चाहिए , लेकिन लक्ष्य तालिका को COPY FROM . में पहले की पंक्तियां पहले ही मिल चुकी होंगी . ये पंक्तियाँ दृश्यमान या पहुँच योग्य नहीं होंगी, लेकिन वे अभी भी डिस्क स्थान घेरती हैं। यदि एक बड़ी कॉपी ऑपरेशन में विफलता अच्छी तरह से हुई तो यह काफी मात्रा में व्यर्थ डिस्क स्थान की राशि हो सकती है। आप VACUUM . का आह्वान करना चाह सकते हैं व्यर्थ स्थान को पुनः प्राप्त करने के लिए।

बोल्ड जोर मेरा। और:

<ब्लॉकक्वॉट>

COPY FROM यदि इनपुट फ़ाइल की किसी भी पंक्ति में अपेक्षा से अधिक या कम कॉलम हैं, तो त्रुटि उत्पन्न होगी।

COPY डेटा आयात/निर्यात करने का एक अत्यंत तेज़ तरीका है। परिष्कृत जांच और त्रुटि प्रबंधन इसे धीमा कर देगा।

त्रुटि लॉगिंग को COPY . में जोड़ने का प्रयास किया गया था पोस्टग्रेज 9.0 में लेकिन यह कभी प्रतिबद्ध नहीं था।

समाधान

इसके बजाय अपनी इनपुट फ़ाइल ठीक करें।

यदि आपकी इनपुट फ़ाइल में एक या अधिक अतिरिक्त कॉलम हैं और फ़ाइल अन्यथा संगत है , आप अपनी तालिका में डमी कॉलम जोड़ सकते हैं isa और बाद में उन्हें छोड़ दें। या (उत्पादन तालिकाओं के साथ क्लीनर) एक अस्थायी स्टेजिंग टेबल पर आयात करें और INSERT आपकी लक्ष्य तालिका में चयनित कॉलम (या भाव) isa वहाँ से।

विस्तृत निर्देशों के साथ संबंधित उत्तर:

  • पोस्टग्रेज में CSV फ़ाइल के मानों के साथ चयनित पंक्तियों को कैसे अपडेट करें?
  • कॉपी कमांड:csv से केवल विशिष्ट कॉलम कॉपी करें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्प्रिंग 3/पोस्टग्रेएसक्यूएल 8.4.9 . में पंक्ति प्रविष्टि से स्वत:जेनरेट की गई कुंजी प्राप्त करना

  2. मैं एक कॉलम कैसे जोड़ सकता हूं जो पोस्टग्रेस्क्ल डेटाबेस में नल की अनुमति नहीं देता है?

  3. एक तालिका के SQL अद्यतन फ़ील्ड दूसरे के फ़ील्ड से

  4. प्रोग्रामेटिक रूप से पोस्टग्रेज JDBC के लिए एक `डेटासोर्स` ऑब्जेक्ट तैयार करें

  5. PHP विंडोज़ पर php_pgsql.dll लोड नहीं कर रहा है