User30184 के सुझावों के बाद , पॉल रैमसे और मेरे अपने प्रयोग। मैंने इस सवाल का जवाब देने का फैसला किया।
मैं इस प्रश्न में उल्लेख करने में विफल रहा कि मैं दूरस्थ सर्वर पर डेटा आयात कर रहा हूं। (हालांकि यह ब्लॉग पोस्ट में वर्णित है जिसका मैं उल्लेख करता हूं)। इंटरनेट पर आवेषण जैसे संचालन एक नेटवर्क विलंबता के अधीन हैं। शायद यह उल्लेख करना अप्रासंगिक नहीं है कि यह सर्वर अमेज़ॅन आरडीएस पर है , जो मुझे मशीन से ssh और स्थानीय रूप से संचालन चलाने से रोकता है।
इसे ध्यान में रखते हुए, मैंने अपने दृष्टिकोण को नए टेबल में डेटा के डंप को बढ़ावा देने के लिए "\ copy" निर्देश का उपयोग करते हुए फिर से इंजीनियर किया। मुझे लगता है कि यह रणनीति एक आवश्यक कुंजी है, जिसे इस प्रश्न की टिप्पणियों / उत्तरों पर भी संदर्भित किया गया था।
psql database -U user -h host.eu-west-1.rds.amazonaws.com -c "\copy newt_table from 'data.csv' with DELIMITER ','"
यह ऑपरेशन अविश्वसनीय रूप से तेज था। चूंकि मैंने एक सीएसवी को आयात किया था, इसलिए मेरे पास ज्यामिति को पॉप्युलेट करने, स्थानिक सूचकांक जोड़ने आदि के सभी कार्य थे, यह अभी भी उल्लेखनीय रूप से तेज था, क्योंकि मैं तब सर्वर पर प्रश्न चला रहा था ।
मैंने user30184 , पॉल रैमसे के सुझावों को भी मानने का फैसला किया । मेरा डेटा फ़ाइल 3035369 रिकॉर्ड और 82 एमबी के साथ एक बिंदु आकार का था।
Ogr2ogr दृष्टिकोण (PG_USE_COPY निर्देश का उपयोग करते हुए) 1:03:00 मीटर में समाप्त हुआ, जो अभी भी पहले से बहुत बेहतर है।
Shp2pgsql दृष्टिकोण (-D निर्देश का उपयोग करके) केवल 00:01:04 मीटर में समाप्त हुआ।
यह कहने योग्य है कि ऑग्रा 2ogr ने ऑपरेशन के दौरान एक स्थानिक सूचकांक बनाया, जबकि shp2pgsql ने नहीं किया। मुझे पता चला है कि आयात करने के बाद सूचकांक बनाने के लिए यह अधिक कुशल है , बजाय इस प्रकार के अनुरोध के साथ आयात ऑपरेशन को खिलाने के बजाय ।
निष्कर्ष यह है: shp2pgsql, जब ठीक से परिमाणित किया जाता है, तो बड़े आयात करने के लिए बहुत अच्छी तरह से अनुकूल है, अर्थात् उन लोगों को जो व्हिटिन अमेज़ॅन वेब सेवाओं के साथ हैं।
इन निष्कर्षों का अधिक विस्तृत विवरण आप इस पोस्ट के अपडेट पर पढ़ सकते हैं ।