एक बहुत अच्छा टूल है जो एक सीएसवी फ़ाइल से पोस्टग्रेज़ में टेबल आयात करता है। यह एक कमांड-लाइन टूल है जिसे pgfutter कहा जाता है (विंडोज़, लिनक्स, आदि के लिए बाइनरी के साथ)। इसका एक बड़ा लाभ यह है कि यह विशेषता/स्तंभ नामों को भी पहचानता है।
उपकरण का उपयोग सरल है। उदाहरण के लिए यदि आप myCSVfile.csv
आयात करना चाहते हैं :
pgfutter --db "myDatabase" --port "5432" --user "postgres" --pw "mySecretPassword" csv myCSVfile.csv
यह एक टेबल बनाएगा (जिसे myCSVfile
called कहा जाता है) ) csv फ़ाइल के हेडर से लिए गए कॉलम नामों के साथ। इसके अतिरिक्त डेटा प्रकारों की पहचान मौजूदा डेटा से की जाएगी।
कुछ नोट्स:कमांड pgfutter
आपके द्वारा उपयोग किए जाने वाले बाइनरी के आधार पर भिन्न होता है, उदा। यह pgfutter_windows_amd64.exe
हो सकता है (यदि आप इस आदेश का बार-बार उपयोग करने का इरादा रखते हैं तो इसका नाम बदलें)। उपरोक्त कमांड को कमांड लाइन विंडो में निष्पादित किया जाना है (उदाहरण के लिए विंडोज़ रन cmd
में) और सुनिश्चित करें pgfutter
पहुँच योग्य है)। यदि आप एक अलग टेबल नाम रखना चाहते हैं तो --table "myTable"
add जोड़ें; किसी विशेष डेटाबेस स्कीमा का चयन करने के लिए हमें --schema "mySchema"
. यदि आप किसी बाहरी डेटाबेस का उपयोग कर रहे हैं तो --host "myHostDomain"
. का उपयोग करें .
pgfutter
. का अधिक विस्तृत उदाहरण आयात करने के लिए myFile
myTable
. में क्या यह एक है:
pgfutter --host "localhost" --port "5432" --db "myDB" --schema "public" --table "myTable" --user "postgres" --pw "myPwd" csv myFile.csv
सबसे अधिक संभावना है कि आप आयात के बाद कुछ डेटा प्रकार (पाठ से संख्यात्मक तक) बदल देंगे:
alter table myTable
alter column myColumn type numeric
using (trim(myColumn)::numeric)