यह कमांड पीजीलोडर है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।
कार्यक्रम:
नाम
pgloader - PostgreSQL डेटा लोडर
SYNOPSIS
पीजीलोडर [ ] [ ]...
पीजीलोडर [ ] सोर्स टारगेट
वर्णन
pgloader विभिन्न स्रोतों से डेटा को PostgreSQL में लोड करता है। यह डेटा को रूपांतरित कर सकता है
तुरंत पढ़ता है और लोडिंग से पहले और बाद में कच्चा SQL सबमिट करता है। इसका उपयोग करता है कॉपी
PostgreSQL प्रोटोकॉल डेटा को सर्वर में स्ट्रीम करने के लिए, और a भरकर त्रुटियों का प्रबंधन करता है
की जोड़ी अस्वीकार.dat और अस्वीकार.लॉग फाइलें.
pgloader या तो कमांड का उपयोग करके संचालित होता है जो फ़ाइलों से पढ़ा जाता है:
पीजीलोडर कमांड.लोड
या कमांड लाइन पर दिए गए सभी तर्कों और विकल्पों का उपयोग करके:
पीजीलोडर स्रोत लक्ष्य
बहस
पीजीलोडर तर्क आवश्यकतानुसार कई लोड फ़ाइलें, या कुछ कनेक्शन हो सकते हैं
एक विशिष्ट इनपुट फ़ाइल के लिए स्ट्रिंग।
स्रोत कनेक्शन STRING है
स्रोत कनेक्शन स्ट्रिंग प्रारूप इस प्रकार है:
प्रारूप: ///absolute/path/to/file.ext
प्रारूप://./relative/path/to/file.ext
जहां प्रारूप में से एक हो सकता है csv, तय, प्रतिलिपि, DBF, db3 or आईएक्सएफ.
db://user:pass@host:port/dbname
डीबी कहां की हो सकती है SQLite, MySQL or mssql.
फ़ाइल आधारित स्रोत प्रारूप का उपयोग करते समय, pgloader फ़ाइल को मूल रूप से लाने का भी समर्थन करता है
किसी http स्थान से और यदि आवश्यक हो तो संग्रह को डीकंप्रेस करना। उस स्थिति में यह आवश्यक है
उपयोग करने के लिए --प्रकार फ़ाइल का अपेक्षित प्रारूप निर्दिष्ट करने का विकल्प। उदाहरण देखें
नीचे.
यह भी ध्यान दें कि कुछ फ़ाइल स्वरूपों में कुछ कार्यान्वयन विवरणों का वर्णन करने की आवश्यकता होती है जैसे कि
सीएसवी से लोड करते समय पढ़े जाने वाले कॉलम और सीमांकक और उद्धरण।
अधिक जटिल लोडिंग परिदृश्यों के लिए, आपको एक पूर्ण लोड कमांड लिखना होगा
इस दस्तावेज़ में बाद में वर्णित वाक्यविन्यास।
TARGET में कनेक्शन STRING है
लक्ष्य कनेक्शन स्ट्रिंग प्रारूप को इस दस्तावेज़ में बाद में विवरण में वर्णित किया गया है, देखें
अनुभाग कनेक्शन स्ट्रिंग.
विकल्प
जांच विकल्प
जब आप उपयोग करने के तरीके के बारे में अधिक जानना चाहते हैं तो इन विकल्पों का उपयोग करें pgloader, उन विकल्पों के रूप में
आ कारण होगा pgloader कोई डेटा लोड नहीं करना है.
-h, --मदद
कमांड उपयोग सारांश दिखाएं और बाहर निकलें।
-V, --संस्करण
पीजीलोडर संस्करण स्ट्रिंग दिखाएं और बाहर निकलें।
-E, --सूची-एन्कोडिंग
पीजीलोडर के इस संस्करण में ज्ञात एन्कोडिंग की सूची बनाएं।
-U, --अपग्रेड-कॉन्फिग
कमांड लाइन में दी गई फ़ाइलों को पार्स करें pgloader.conf के साथ फ़ाइलें INI वाक्यविन्यास
यह pgloader संस्करण 2.x में उपयोग में था, और इसके लिए नया कमांड सिंटैक्स आउटपुट करता था
मानक आउटपुट पर pgloader।
सामान्य विकल्प
वे विकल्प बदलाव के लिए हैं pgloader डेटा लोड करते समय व्यवहार।
-v, --शब्दशः
वर्बोज़ बनें।
-q, --शांत
शांत रहें।
-d, - दाढ़
डिबग स्तर के सूचना संदेश दिखाएँ।
-D, --रूट-डीआईआर
रूट वर्किंग डायरेक्टरी को सेट करें (डिफ़ॉल्ट रूप से "/tmp/pgloader")।
-L, --बोटा दस्तावेज
pgloader लॉग फ़ाइल सेट करें (डिफ़ॉल्ट रूप से "/tmp/pgloader.log")।
--लॉग-मिन-संदेश
लॉग संदेश को लॉगफ़ाइल में लाने के लिए न्यूनतम स्तर की वाचालता आवश्यक है। में से एक
महत्वपूर्ण, लॉग, त्रुटि, चेतावनी, सूचना, जानकारी या डीबग।
--ग्राहक-न्यूनतम-संदेश
लॉग संदेश को कंसोल तक पहुंचाने के लिए न्यूनतम स्तर की वाचालता आवश्यक है। में से एक
महत्वपूर्ण, लॉग, त्रुटि, चेतावनी, सूचना, जानकारी या डीबग।
-S, --सारांश
एक फ़ाइल नाम जहां सारांश आउटपुट की प्रतिलिपि बनाई जानी है। सापेक्ष होने पर फ़ाइल नाम होता है
में विस्तारित किया गया *रूट-डीआईआर*.
फ़ाइल नाम का प्रारूप डिफ़ॉल्ट होता है मानव पठनीय. होना संभव है
जैसे मशीन अनुकूल प्रारूपों में आउटपुट CSV, कॉपी (PostgreSQL की अपनी कॉपी
प्रारूप) या JSON एक्सटेंशन सम्मान के साथ एक फ़ाइल नाम निर्दिष्ट करके। . सीएसवी, .कॉपी or
.json.
-l , --लोड-लिस्प-फ़ाइल
एक तुतलाना निर्दिष्ट करें पट्टिका पढ़ने से पहले pgloader छवि को संकलित और लोड करने के लिए
आदेश, अतिरिक्त परिवर्तन फ़ंक्शन को परिभाषित करने की अनुमति देते हैं। उन कार्यों को करना चाहिए
में परिभाषित किया जाए pgloader.परिवर्तन पैकेट। यह विकल्प इससे भी अधिक दिखाई दे सकता है
एक बार कमांड लाइन में.
--स्वयं-उन्नयन :
निर्दिष्ट करें डायरेक्टरी पीजीलोडर स्रोत कहां खोजें ताकि यह सबसे पहले में से एक हो
यह जो चीजें करता है वह गतिशील रूप से दूसरे को लोड करना (और मशीन कोड में संकलित करना) है
स्वयं का संस्करण, आमतौर पर बिल्कुल हालिया गिट चेकआउट की तरह एक नया संस्करण।
कमान लाइन केवल संचालन
उपयोग करते समय उन विकल्पों का उपयोग किया जाना चाहिए pgloader बल्कि, केवल कमांड लाइन से
कमांड फ़ाइल और रिच कमांड क्लॉज़ और पार्सर का उपयोग करने की तुलना में। साधारण मामलों में, यह हो सकता है
का उपयोग करना बहुत आसान हो जाएगा स्रोत और TARGET में सीधे कमांड लाइन पर, फिर ट्विक करें
उन विकल्पों के साथ लोड हो रहा है:
· --साथ "विकल्प":
कमांड लाइन से विकल्प सेट करने की अनुमति देता है। आप उस विकल्प का उपयोग जितनी बार भी कर सकते हैं
तुम्हें चाहिए। विकल्प तर्कों का पालन करना चाहिए साथ में के स्रोत प्रकार के लिए खंड
स्रोत विशिष्टता, जैसा कि इस दस्तावेज़ में बाद में वर्णित है।
· --सेट "guc_name=´value´"
कमांड लाइन से PostgreSQL कॉन्फ़िगरेशन सेट करने की अनुमति देता है। ध्यान दें कि विकल्प
पार्सिंग वही है जो से उपयोग करते समय होती है SET कमांड क्लॉज, विशेष रूप से आपको अवश्य करना चाहिए
guc मान को सिंगल-कोट्स के साथ संलग्न करें।
· --खेत "..."
स्रोत फ़ील्ड परिभाषा सेट करने की अनुमति देता है। फ़ील्ड दिए गए क्रम में जमा किए जाते हैं
कमांड लाइन. इसका उपयोग करना संभव है --खेत स्रोत में प्रति फ़ील्ड विकल्प
फ़ाइल, या फ़ील्ड परिभाषाओं को अल्पविराम से अलग करना, जैसा कि आप करेंगे होने
खेत खंड।
· --ढालना "..."
डेटा लोड करने के लिए एक विशिष्ट कास्टिंग नियम सेट करने की अनुमति देता है।
· --प्रकार सीएसवी|फिक्स्ड|db3|ixf|sqlite|mysql|mssql
स्रोत प्रकार को बाध्य करने की अनुमति देता है, उस स्थिति में जब स्रोत विश्लेषण संतोषजनक नहीं है.
· --एन्कोडिंग
डेटा लोड करने के लिए स्रोत फ़ाइल की एन्कोडिंग सेट करें।
· --पहले
SQL क्वेरी के लिए दिए गए फ़ाइल नाम को पार्स करें और उन्हें पहले लक्ष्य डेटाबेस के विरुद्ध चलाएँ
स्रोत से डेटा लोड करना। क्वेरीज़ को pgloader द्वारा ही पार्स किया जाता है: उन्हें इसकी आवश्यकता होती है
अर्ध-विराम (;) द्वारा समाप्त किया जाना चाहिए और फ़ाइल में शामिल हो सकता है \i or \आईआर करने के लिए आदेश
शामिल दूसरी फ़ाइल.
· --उपरांत
SQL क्वेरीज़ के लिए दिए गए फ़ाइल नाम को पार्स करें और बाद में उन्हें लक्ष्य डेटाबेस के विरुद्ध चलाएँ
स्रोत से डेटा लोड किया जा रहा है। प्रश्नों को उसी तरह पार्स किया जाता है जैसे कि
la --पहले विकल्प, ऊपर देखें.
अधिक डीबग जानकारी
डिबग जानकारी की अधिकतम मात्रा प्राप्त करने के लिए, आप दोनों का उपयोग कर सकते हैं --शब्दशः और
- दाढ़ एक ही समय में स्विच, जो कहने के बराबर है --ग्राहक-न्यूनतम-संदेश
तिथि. फिर लॉग संदेश संसाधित किए जा रहे डेटा को दिखाएंगे, ऐसे मामलों में जहां
कोड को इसके लिए स्पष्ट समर्थन प्राप्त है।
उपयोग उदाहरण
कमांड लाइन विकल्प और पीजीलोडर के संस्करण की समीक्षा करें:
पीजीलोडर--मदद
पीजीलोडर--संस्करण
लदान से a जटिल आदेश
कमांड फ़ाइल को pgloader कमांड तर्क के रूप में उपयोग करें, pgloader उस फ़ाइल को पार्स करेगा और
इसमें पाए गए आदेशों को निष्पादित करें:
pgloader --verbose ./test/csv-districts.load
CSV
CSV फ़ाइल से डेटा को अपने डेटाबेस में पहले से मौजूद तालिका में लोड करें:
पीजीलोडर--टाइप सीएसवी
--फ़ील्ड आईडी --फ़ील्ड फ़ील्ड
--काट-छाँट के साथ
-- "´,´ द्वारा समाप्त किए गए फ़ील्ड" के साथ
./test/data/matching-1.csv
पोस्टग्रेज़:///pgloader?tablename=matching
उस उदाहरण में, आवश्यकता को दरकिनार करते हुए, संपूर्ण लोडिंग कमांड लाइन से संचालित होती है
पूरी तरह से pgloader कमांड सिंटैक्स में एक कमांड लिखना। चूँकि वहाँ कोई आदेश नहीं है,
आवश्यक अतिरिक्त जानकारी का उपयोग करके कमांड लाइन पर प्रदान की जानी चाहिए --प्रकार और
--खेत और --साथ स्विच।
के लिए उपलब्ध सिंटैक्स के बारे में दस्तावेज़ीकरण के लिए --खेत और --साथ कृपया स्विच करें
बाद में मैन पेज में सीएसवी अनुभाग देखें।
यह भी ध्यान दें कि PostgreSQL URI में लक्ष्य शामिल है तालिका नाम.
पढ़ना से एसटीडीआईएन
फ़ाइल आधारित पीजीलोडर स्रोतों को मानक इनपुट से लोड किया जा सकता है, जैसा कि निम्नलिखित है
उदाहरण:
पीजीलोडर--टाइप सीएसवी
--फ़ील्ड "यूएसपीएस, जियोइड, अलैंड, अवाटर, अलैंड_वर्गमी, अवाटर_वर्गमी, इंटप्टलैट, इंटप्टलॉन्ग"
-- "स्किप हेडर = 1" के साथ
-- "फ़ील्ड ´\t´ द्वारा समाप्त" के साथ
-
postgresql:///pgloader?districts_longlat
< test/data/2013_Gaz_113CDs_national.txt
डैश (-) स्रोत के रूप में चरित्र का उपयोग अर्थ के लिए किया जाता है मानक निवेश, यूनिक्स में हमेशा की तरह
कमांड लाइन. इस तकनीक से संपीड़ित सामग्री को pgloader पर स्ट्रीम करना संभव है,
यूनिक्स पाइप का उपयोग करना:
गनज़िप -c source.gz | pgloader --प्रकार csv... - pgsql:///target?foo
लदान से CSV उपलब्ध पूज्य गुरुदेव के मार्गदर्शन से संपन्न कर सकते हैं - HTTP
यदि सीएसवी फ़ाइल किसी पर पाई जाती है तो ऊपर जैसा ही कमांड भी चलाया जा सकता है
दूरस्थ HTTP स्थान:
पीजीलोडर--टाइप सीएसवी
--फ़ील्ड "यूएसपीएस, जियोइड, अलैंड, अवाटर, अलैंड_वर्गमी, अवाटर_वर्गमी, इंटप्टलैट, इंटप्टलॉन्ग"
-- "स्किप हेडर = 1" के साथ
-- "फ़ील्ड ´\t´ द्वारा समाप्त" के साथ
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt
postgresql:///pgloader?districts_longlat
उस स्थिति में कुछ और विकल्पों का उपयोग करना होगा, क्योंकि फ़ाइल में एक-पंक्ति वाला हेडर है
(आमतौर पर ये कॉलम नाम होते हैं, कॉपीराइट नोटिस हो सकता है)। इसके अलावा, उस मामले में, हम
सभी फ़ील्ड को एक ही में निर्दिष्ट करें --खेत विकल्प तर्क।
फिर से, PostgreSQL लक्ष्य कनेक्शन स्ट्रिंग में अवश्य होना चाहिए तालिका नाम विकल्प और आप
यह सुनिश्चित करना होगा कि लक्ष्य तालिका मौजूद है और डेटा में फिट हो सकती है। यहाँ SQL कमांड है
यदि आप इसे स्वयं आज़माना चाहते हैं तो उस उदाहरण में इसका उपयोग किया गया है:
तालिका डिस्ट्रिक्ट_लॉन्गलैट बनाएं
(
यूएसपीएस पाठ,
जियोइड पाठ,
अलैंड बिगिंट,
जल बिगिन्ट,
aland_sqmi डबल परिशुद्धता,
awater_sqmi दोहरी परिशुद्धता,
intptlat डबल परिशुद्धता,
intptlong डबल परिशुद्धता
);
यह भी ध्यान दें कि वही कमांड उसी डेटा के संग्रहीत संस्करण के विरुद्ध काम करेगा,
जैसे http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz.
अंत में, यह ध्यान रखना महत्वपूर्ण है कि pgloader पहले HTTP URL से सामग्री प्राप्त करता है
इसे एक स्थानीय फ़ाइल में बदलें, फिर संग्रह का विस्तार तब करें जब इसे एक के रूप में पहचाना जाए, और केवल तभी
स्थानीय रूप से विस्तारित फ़ाइल को संसाधित करता है।
कुछ मामलों में, या तो क्योंकि pgloader के पास आपके संग्रह प्रारूप के लिए कोई प्रत्यक्ष समर्थन नहीं है या
शायद इसलिए कि आपके वातावरण में संग्रह का विस्तार करना संभव नहीं है, आप शायद ऐसा करना चाहें
धारा सामग्री अपने दूरस्थ स्थान से सीधे PostgreSQL में। यहां बताया गया है कि कैसे करना है
वह, पुराने युद्ध परीक्षण यूनिक्स पाइप्स ट्रिक का उपयोग करते हुए:
कर्ल http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt.gz
| गनज़िप -सी
| पीजीलोडर--टाइप सीएसवी
--फ़ील्ड "यूएसपीएस, जियोइड, अलैंड, अवाटर, अलैंड_वर्गमी, अवाटर_वर्गमी, इंटप्टलैट, इंटप्टलॉन्ग"
-- "स्किप हेडर = 1" के साथ
-- "फ़ील्ड ´\t´ द्वारा समाप्त" के साथ
-
postgresql:///pgloader?districts_longlat
अब ओएस नेटवर्क और के बीच स्ट्रीमिंग और बफरिंग का ख्याल रखेगा
कमांड और pgloader डेटा को PostgreSQL तक स्ट्रीम करने का ध्यान रखेंगे।
ओर पलायन से SQLite
निम्न आदेश SQLite डेटाबेस को खोलेगा, इसकी तालिकाओं की परिभाषाएँ खोजेगा
अनुक्रमित और विदेशी कुंजी सहित, उन परिभाषाओं को माइग्रेट करें ढलाई डेटा प्रकार
विशिष्टताओं को उनके PostgreSQL समतुल्य में बदलें और फिर डेटा को इस पर स्थानांतरित करें:
क्रिएटेडबी न्यूडीबी
pgloader ./test/sqlite/sqlite.db postgresql:///newdb
ओर पलायन से MySQL
बस एक डेटाबेस बनाएं जहां MySQL डेटा और परिभाषाओं को होस्ट करना है और pgloader करना है
आपके लिए एक ही कमांड लाइन में माइग्रेशन:
क्रिएटब पेजिला
pgloader mysql://user@localhost/sakila postgresql:///pagila
ला रहा है an संग्रहीत DBF पट्टिका से a HTTP दूरस्थ स्थान
पीजीलोडर के लिए HTTP से फ़ाइल डाउनलोड करना, उसे अनआर्काइव करना और उसके बाद ही खोलना संभव है
यह स्कीमा की खोज करता है और फिर डेटा लोड करता है:
क्रिएटब फू
पीजीलोडर--टाइप डीबीएफ http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip पोस्टग्रेस्क्ल:///foo
यहां pgloader के लिए यह अनुमान लगाना संभव नहीं है कि उसे किस प्रकार का डेटा स्रोत दिया जा रहा है
का उपयोग करना आवश्यक है --प्रकार कमांड लाइन स्विच।
बैच और पुनः प्रयास करें व्यवहार
PostgreSQL पर डेटा लोड करने के लिए, pgloader का उपयोग करता है कॉपी स्ट्रीमिंग प्रोटोकॉल. जबकि ये है
डेटा लोड करने का तेज़ तरीका, कॉपी एक महत्वपूर्ण खामी है: जैसे ही PostgreSQL उत्सर्जित करता है
इसे भेजे गए किसी भी बिट डेटा में त्रुटि, समस्या चाहे जो भी हो, संपूर्ण डेटा सेट है
PostgreSQL द्वारा अस्वीकृत.
इसके आसपास काम करने के लिए, pgloader डेटा को काटता है बैचों 25000 पंक्तियों में से प्रत्येक, ताकि जब
एक समस्या यह होती है कि यह केवल डेटा की कई पंक्तियों को प्रभावित करती है। प्रत्येक बैच को मेमोरी में रखा जाता है
जब कॉपी स्ट्रीमिंग होती है, त्रुटियों को संभालने में सक्षम होने के लिए कुछ होना चाहिए।
जब PostgreSQL पूरे बैच को अस्वीकार कर देता है, तो pgloader त्रुटि संदेश को लॉग करता है और फिर अलग कर देता है
बैच की गई पंक्तियों को छोटे बैचों में पुन: प्रयास करके स्वीकृत पंक्तियों में से खराब पंक्तियों को हटाएं। ऐसा करने के लिए
वह, pgloader पार्स करता है संदर्भ विफल COPY से त्रुटि संदेश, संदेश के रूप में
इसमें वह पंक्ति संख्या शामिल है जहां बैच में त्रुटि पाई गई थी, जैसा कि निम्नलिखित में है
उदाहरण:
संदर्भ: कॉपी त्रुटियाँ, पंक्ति 3, कॉलम बी: "2006-13-11"
उस जानकारी का उपयोग करते हुए, pgloader त्रुटि से पहले बैच में सभी पंक्तियों को पुनः लोड करेगा
एक, गलत वाले को अस्वीकृत के रूप में लॉग करें, फिर शेष बैच को लोड करने का प्रयास करें
एकल प्रयास, जिसमें अन्य ग़लत डेटा हो भी सकता है और नहीं भी।
अस्वीकृत पंक्तियों वाले लोड के अंत में, आपको दो फ़ाइलें मिलेंगी जड़-दिर
स्थान, आपके सेटअप के लक्ष्य डेटाबेस के समान नामित निर्देशिका के अंतर्गत।
फ़ाइल नाम लक्ष्य तालिका हैं, और उनके एक्सटेंशन हैं .dat अस्वीकृत डेटा के लिए और
लॉग अस्वीकृत डेटा के बारे में संपूर्ण PostgreSQL क्लाइंट साइड लॉग वाली फ़ाइल के लिए।
RSI .dat दस्तावेज़ के अनुसार फ़ाइल को PostgreSQL में टेक्स्ट COPY प्रारूप में स्वरूपित किया गया है
http://www.postgresql.org/docs/9.2/static/sql-copy.html#AEN66609 .
A ध्यान दें हमारे बारे में(ABOUT) प्रदर्शन के
पीजीलोडर को हमेशा से निपटने में सक्षम होने के लिए प्रदर्शन को ध्यान में रखकर विकसित किया गया है
PostgreSQL में बड़ी मात्रा में डेटा लोड करने की बढ़ती ज़रूरतें।
यह जिस बुनियादी वास्तुकला का उपयोग करता है वह पुराना यूनिक्स पाइप मॉडल है, जहां एक धागा जिम्मेदार है
डेटा लोड करने के लिए (CSV फ़ाइल पढ़ना, MySQL क्वेरी करना, आदि) और पूर्व-संसाधित सामग्री भरें
डेटा को एक कतार में रखें। कतार से अन्य थ्रेड फ़ीड होते हैं, कुछ और लागू करें परिवर्तनों
इनपुट डेटा पर जाएं और COPY प्रोटोकॉल का उपयोग करके अंतिम परिणाम को PostgreSQL पर स्ट्रीम करें।
जब एक फ़ाइल दी गई कि PostgreSQL कॉपी कमांड जानता है कि कैसे पार्स करना है, और यदि फ़ाइल
इसमें कोई ग़लत डेटा नहीं है, तो pgloader कभी भी उतना तेज़ नहीं होगा जितना कि इसका उपयोग करना
पोस्टग्रेएसक्यूएल कॉपी आदेश।
ध्यान दें कि जबकि कॉपी कमांड या तो इसके मानक इनपुट से पढ़ने के लिए प्रतिबंधित है
सर्वर के फ़ाइल सिस्टम पर एक स्थानीय फ़ाइल से, कमांड लाइन टूल psql लागू करता है a
\कॉपी कमांड जो जानता है कि नेटवर्क पर क्लाइंट के लिए फ़ाइल को स्थानीय रूप से कैसे स्ट्रीम किया जाए
PostgreSQL सर्वर में, उसी प्रोटोकॉल का उपयोग करके जो pgloader उपयोग करता है।
स्रोत प्रारूप
pgloader निम्नलिखित इनपुट प्रारूपों का समर्थन करता है:
· सीएसवी, जिसमें टीएसवी और अन्य सामान्य वेरिएंट भी शामिल हैं जहां आप इसे बदल सकते हैं
विभाजक और के हवाले नियम और कैसे करें बच la उद्धरण खुद;
· निश्चित कॉलम फ़ाइल, जहां पीजीलोडर स्रोत फ़ाइलों के साथ समायोजित करने के लिए पर्याप्त लचीला है
गुम कॉलम (टुकड़े टुकड़े कर दिया तय लंबाई स्तंभ फ़ाइलों अस्तित्व में);
· PostgreSQL के COPY TEXT दस्तावेज़ का अनुसरण करते हुए PostgreSLQ COPY स्वरूपित फ़ाइलें,
जैसे कि pgloader द्वारा तैयार की गई अस्वीकृत फ़ाइलें;
· dbase फ़ाइलें जिन्हें db3 या dbf फ़ाइल के रूप में जाना जाता है;
· ixf स्वरूपित फ़ाइलें, ixf IBM का एक बाइनरी स्टोरेज प्रारूप है;
· स्कीमा और उन्नत कास्ट नियमों की पूरी तरह से स्वचालित खोज के साथ एसक्लाइट डेटाबेस;
· स्कीमा और उन्नत कास्ट नियमों की पूरी तरह से स्वचालित खोज के साथ MySQL डेटाबेस;
स्कीमा और उन्नत कास्ट नियमों की पूरी तरह से स्वचालित खोज के साथ एमएस एसक्यूएल डेटाबेस।
पीजीलोडर कमानों वाक्य - विन्यास
pgloader एक डोमेन विशिष्ट भाषा लागू करता है जो जटिल डेटा लोडिंग को सेटअप करने की अनुमति देता है
गणना किए गए कॉलमों को संभालने वाली स्क्रिप्ट और इनपुट डेटा का ऑन-द-फ्लाई सैनिटाइजेशन। अधिक जानकारी के लिए
जटिल डेटा लोडिंग परिदृश्यों में, आपको डीएसएल का सिंटैक्स सीखना होगा। इसका
इसका मतलब एसक्यूएल से प्रेरित होकर डीबीए से परिचित दिखना है, जहां यह समझ में आता है, जो कि नहीं है
आख़िरकार इतना ही.
पीजीलोडर कमांड समान वैश्विक व्याकरण नियमों का पालन करते हैं। उनमें से प्रत्येक समर्थन कर सकता है
केवल सामान्य विकल्पों का एक उपसमुच्चय और विशिष्ट विकल्प प्रदान करते हैं।
भार
से [ फ़ील्ड्स होना ]
में [लक्ष्य कॉलम ]
[ साथ ]
[ तय करना ]
[लोड करने से पहले [करें | अमल में लाना ] ... ]
[लोड के बाद [करें | अमल में लाना ] ... ]
;
मुख्य उपवाक्य हैं भार, से, जांच और साथ में खंड जो प्रत्येक कमांड लागू करता है।
फिर कुछ आदेश लागू करते हैं SET आदेश, या कुछ विशिष्ट खंड जैसे कि कास्ट
खंड।
आम खंड
कुछ खंड सभी आदेशों के लिए सामान्य हैं:
· से
RSI से क्लॉज़ निर्दिष्ट करता है कि डेटा कहाँ से पढ़ा जाए, और प्रत्येक कमांड इसका परिचय देता है
स्रोतों का अपना संस्करण। उदाहरण के लिए, CSV स्रोत समर्थन करता है इनलाइन, stdinतक
फ़ाइल नाम, एक उद्धृत फ़ाइल नाम, और a फ़ाइल का नाम मेल मिलाना खंड (ऊपर देखें); जहांकि
MySQL स्रोत केवल MySQL डेटाबेस URI विनिर्देश का समर्थन करता है।
सभी मामलों में, से क्लॉज एक पर्यावरण चर से अपना मान पढ़ने में सक्षम है
प्रपत्र का उपयोग करते समय गेटेनव `वर्णनाम``.
· जांच
PostgreSQL कनेक्शन URI में लक्ष्य तालिका का नाम होना चाहिए जहां लोड करना है
में डेटा. वह तालिका PostgreSQL और नाम में पहले ही बनाई जा चुकी होगी
स्कीमा योग्य हो सकता है.
RSI जांच लक्ष्य डेटाबेस कनेक्शन यूआरआई को पर्यावरण के मूल्य से पार्स किया जा सकता है
प्रपत्र का उपयोग करते समय परिवर्तनीय गेटेनव `वर्णनाम``.
फिर जांच विकल्प लक्ष्य स्तंभों की वैकल्पिक अल्पविराम से अलग की गई सूची का भी समर्थन करता है,
जो या तो एक इनपुट का नाम हैं खेत या सफेद स्थान से अलग की गई सूची
लक्ष्य स्तंभ का नाम, इसका PostgreSQL डेटा प्रकार और a का उपयोग करते हुए अभिव्यक्ति।
RSI का उपयोग करते हुए अभिव्यक्ति कोई भी वैध सामान्य लिस्प फॉर्म हो सकती है और इसे इसके साथ पढ़ा जाएगा
वर्तमान पैकेज को सेट किया गया है pgloader.परिवर्तन, ताकि आप इसमें परिभाषित फ़ंक्शन का उपयोग कर सकें
वह पैकेज, जैसे कि गतिशील रूप से लोड किए गए फ़ंक्शन --भार कमांड लाइन
पैरामीटर।
से प्रत्येक का उपयोग करते हुए अभिव्यक्ति को रनटाइम पर मूल कोड में संकलित किया जाता है।
यह सुविधा pgloader को CSV फ़ाइल में किसी भी संख्या में फ़ील्ड को लोड करने की अनुमति देती है
संभवतः डेटाबेस में अलग-अलग संख्या में कॉलम, उसके लिए कस्टम कोड का उपयोग किया जा रहा है
प्रक्षेपण.
· साथ में
इनमें से किसी एक के वैश्विक सिंटैक्स का उपयोग करके कमांड पर लागू करने के लिए विकल्पों का सेट:
· कुंजी = मूल्य
· उपयोग विकल्प
· do नहीं उपयोग विकल्प
विवरण के लिए प्रत्येक विशिष्ट आदेश देखें।
· SET
यह खंड खोले गए सभी सत्रों के लिए सत्र पैरामीटर निर्दिष्ट करने की अनुमति देता है
पीजीलोडर द्वारा. यह पैरामीटर नाम, समान चिह्न, फिर की एक सूची की अपेक्षा करता है
अल्पविराम से अलग की गई सूची के रूप में एकल-उद्धृत मान।
पैरामीटर्स के नाम और मान pgloader द्वारा मान्य नहीं हैं, वे दिए गए हैं
जैसा कि PostgreSQL में है।
· इससे पहले भार DO
आप डेटा लोड करने से पहले डेटाबेस के विरुद्ध SQL क्वेरी चला सकते हैं CSV
फ़ाइल। सबसे आम SQL क्वेरीज़ हैं बनाएँ टेबल IF नहीं मौजूद है ताकि डेटा हो सके
भरी हुई।
प्रत्येक आदेश होना चाहिए डॉलर उद्धृत: इसकी शुरुआत और अंत दोहरे डॉलर चिह्न के साथ होना चाहिए,
$$. फिर डॉलर-उद्धृत प्रश्नों को अल्पविराम से अलग कर दिया जाता है। कोई अतिरिक्त विराम चिह्न अपेक्षित नहीं है
अंतिम SQL क्वेरी के बाद.
· इससे पहले भार निष्पादित
में वैसा ही व्यवहार इससे पहले भार DO खंड. आपको SQL क्वेरीज़ पढ़ने की अनुमति देता है
एक SQL फ़ाइल से. PostgreSQL डॉलर-उद्धरण और के लिए समर्थन लागू करता है \i और \आईआर
जैसी सुविधाएँ सम्मिलित करें psql बैच मोड (जहां वे एक ही चीज़ हैं)।
· बाद भार DO
जैसा ही प्रारूप इससे पहले भार DO, उस अनुभाग में पाए गए डॉलर-उद्धृत प्रश्न हैं
लोड हो जाने के बाद निष्पादित किया जाता है। इंडेक्स और बनाने का यह सही समय है
बाधाएँ, या ट्रिगर्स को पुनः सक्षम करें।
· बाद भार निष्पादित
में वैसा ही व्यवहार बाद भार DO खंड. आपको SQL क्वेरीज़ को पढ़ने की अनुमति देता है
एक SQL फ़ाइल. PostgreSQL डॉलर-उद्धरण और के लिए समर्थन लागू करता है \i और \आईआर
जैसी सुविधाएँ सम्मिलित करें psql बैच मोड (जहां वे एक ही चीज़ हैं)।
संबंध तार
RSI पैरामीटर के रूप में दिए जाने की उम्मीद है संबंध यूआरआइ दस्तावेज के रूप में
PostgreSQL दस्तावेज़ में
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-कॉनस्ट्रिंग।
postgresql://[उपयोगकर्ता[:पासवर्ड]@][नेटलोक][:पोर्ट][/dbname][?option=value&...]
कहा पे:
· उपयोगकर्ता
इसमें कोलन सहित कोई भी वर्ण शामिल हो सकता है (:) जिसे तब दोगुना किया जाना चाहिए (::) और
संकेत पर (@) जिसे तब दोगुना किया जाना चाहिए (@@).
जब छोड़ा गया, तो उपयोगकर्ता नाम के मान पर डिफ़ॉल्ट होता है पीजीयूएसईआर वातावरण विविधता,
और यदि यह असेट है, तो का मान USER वातावरण विविधता।
· पासवर्ड
इसमें at चिह्न सहित कोई भी वर्ण शामिल हो सकता है (@) जिसे तब दोगुना किया जाना चाहिए (@@).
पासवर्ड खाली छोड़ने के लिए, जब उपयोगकर्ता नाम चिह्न के साथ समाप्त होता है, फिर आपको यह करना होगा
सिंटैक्स उपयोगकर्ता का उपयोग करें:@।
जब छोड़ा गया, तो पासवर्ड के मान पर डिफ़ॉल्ट होता है पीजीपासवर्ड वातावरण
यदि यह सेट है तो वेरिएबल, अन्यथा पासवर्ड अनसेट छोड़ दिया जाता है।
· नेटलॉक
या तो बिंदीदार नोटेशन में एक होस्टनाम, या एक आईपीवी4, या एक यूनिक्स डोमेन सॉकेट हो सकता है
पथ। सिस्टम प्रदान करने के तहत खाली डिफ़ॉल्ट नेटवर्क स्थान है यूनिक्स डोमेन
सॉकेट उस विधि को प्राथमिकता दी जाती है, अन्यथा नेटलॉक करने के लिए डिफ़ॉल्ट स्थानीय होस्ट.
इसे मजबूर करना संभव है यूनिक्स डोमेन सॉकेट सिंटैक्स का उपयोग करके पथ
यूनिक्स:/पथ/से/कहाँ/द/सॉकेट/फ़ाइल/है, इसलिए एक गैर डिफ़ॉल्ट सॉकेट पथ को बाध्य करने के लिए और a
गैर डिफ़ॉल्ट पोर्ट, आपके पास होगा:
पोस्टग्रेस्क्ल://यूनिक्स:/ Tmp:54321/डीबीनाम
RSI नेटलॉक के मान पर डिफ़ॉल्ट होता है पीजीहोस्ट पर्यावरण चर, और यदि यह सेट नहीं है,
या तो डिफ़ॉल्ट के लिए यूनिक्स यूनिक्स सिस्टम पर चलने पर सॉकेट पथ, और स्थानीय होस्ट
अन्यथा।
· dbname
एक उचित पहचानकर्ता होना चाहिए (अक्षर के बाद अक्षर, अंक और का मिश्रण)।
विराम चिह्न अल्पविराम (,), थोड़ा सा (-) और अंडरस्कोर (_).
जब छोड़ा गया, तो dbname पर्यावरण चर के मान पर डिफ़ॉल्ट पीजीडाटाबेस,
और यदि वह परेशान है, तो उपयोगकर्ता मूल्य जैसा कि ऊपर निर्धारित किया गया है।
· विकल्पों
वैकल्पिक मापदंडों को फॉर्म के साथ प्रदान किया जाना चाहिए नाम = मान, और आप उपयोग कर सकते हैं
एम्परसेंड का उपयोग करके कई मापदंडों को अलग करके (&) चरित्र।
यहां केवल कुछ विकल्प ही समर्थित हैं, तालिका नाम (जो कि ए के साथ योग्य हो सकता है
स्कीमा नाम) एसएसएलमोड, मेजबान, बंदरगाह, dbname, उपयोगकर्ता और पासवर्ड.
RSI एसएसएलमोड पैरामीटर मान इनमें से एक हो सकते हैं अक्षम करें, अनुमति देना, पसंद करते हैं or की आवश्यकता होती है.
पिछड़े अनुकूलता कारणों से, इसे निर्दिष्ट करना संभव है तालिका नाम विकल्प
सीधे, बिना वर्तनी बताए टेबलनाम= भागों.
विकल्प मुख्य यूआरआई घटकों को ओवरराइड करते हैं जब दोनों दिए जाते हैं और इसका उपयोग किया जाता है
प्रतिशत-एन्कोडेड विकल्प पैरामीटर कोलन से शुरू होने वाले पासवर्ड का उपयोग करने की अनुमति देते हैं
अन्य यूआरआई घटकों की पार्सिंग सीमाओं को दरकिनार करना।
नियमित एक्सप्रेशंस
निम्नलिखित में सूचीबद्ध कई खंड स्वीकार करते हैं नियमित भाव निम्नलिखित के साथ
इनपुट नियम:
· एक रेगुलर एक्सप्रेशन एक टिल्ड चिन्ह से शुरू होता है (~),
· उसके बाद एक प्रारंभिक चिह्न लगाया जाता है,
· तब किसी भी वर्ण को अनुमति दी जाती है और उसे नियमित अभिव्यक्ति का हिस्सा माना जाता है, सिवाय इसके
समापन चिह्न के लिए,
· फिर एक समापन संकेत अपेक्षित है।
उद्घाटन और समापन चिन्ह की जोड़ी द्वारा अनुमति है, यहां अनुमति की पूरी सूची है
सीमांकक:
~//
~[]
~{}
~()
~<>
~""
~´´
~||
~##
सीमांकक का वह सेट चुनें जो इससे टकराता नहीं है नियमित अभिव्यक्ति आप कोशिश कर रहे हैं
इनपुट. यदि आपकी अभिव्यक्ति ऐसी है कि कोई भी समाधान आपको इसमें प्रवेश करने की अनुमति नहीं देता है, तो
जिन स्थानों पर ऐसी अभिव्यक्तियों की अनुमति है, उन्हें अभिव्यक्तियों की एक सूची की अनुमति देनी चाहिए।
टिप्पणियाँ
किसी भी कमांड में उन इनपुट नियमों का पालन करते हुए टिप्पणियाँ हो सकती हैं:
· NS -- परिसीमनक एक टिप्पणी शुरू करता है जो वर्तमान पंक्ति के अंत के साथ समाप्त होती है,
· सीमांकक /* और */ क्रमशः एक टिप्पणी प्रारंभ और समाप्त करें, जिसे इसमें पाया जा सकता है
किसी कमांड के मध्य में या कई पंक्तियों में फैला हुआ।
कोई भी स्थान जहां आप प्रवेश कर सकते हैं खाली स्थान के एक टिप्पणी भी स्वीकार करेंगे.
बैच व्यवहार विकल्पों
सभी pgloader कमांड के लिए समर्थन है साथ में खंड जो विकल्प निर्दिष्ट करने की अनुमति देता है।
कुछ विकल्प सामान्य हैं और सभी आदेशों द्वारा स्वीकार किए जाते हैं, जैसे कि बैच व्यवहार
विकल्पों, और कुछ विकल्प डेटा स्रोत प्रकार के लिए विशिष्ट होते हैं, जैसे सीएसवी स्किप हैडर
विकल्प.
वैश्विक बैच व्यवहार विकल्प हैं:
· बैच पंक्तियाँ
तर्क के रूप में एक संख्यात्मक मान लेता है, जिसका उपयोग ए में अनुमत पंक्तियों की अधिकतम संख्या के रूप में किया जाता है
बैच। डिफ़ॉल्ट है 25 000 और बेहतर प्रदर्शन के लिए इसे बदला जा सकता है
विशेषताएँ या पीजीलोडर मेमोरी उपयोग को नियंत्रित करने के लिए;
· बैच आकार
एक मेमोरी यूनिट को तर्क के रूप में लेता है, जैसे 20 MB, इसका डिफ़ॉल्ट मान। को स्वीकृत
गुणक हैं kB, MB, GB, TB और PB. मामला महत्वपूर्ण है ताकि भ्रमित न हों
बिट्स बनाम बाइट्स के बारे में, हम यहां केवल बाइट्स के बारे में बात कर रहे हैं।
· बैच संगामिति
तर्क के रूप में एक संख्यात्मक मान लेता है, इसे डिफ़ॉल्ट करता है 10. यह बैचों की संख्या है
pgloader मेमोरी में निर्माण करने की अनुमति देता है, तब भी जब एक समय में केवल एक ही बैच हो सकता है
PostgreSQL पर भेजा जाए।
एक समय में भेजे जाने वाले एक से अधिक बैच का समर्थन करना TODO सूची में है
pgloader, लेकिन अभी तक लागू नहीं किया गया है। यह विकल्प मेमोरी को नियंत्रित करने के बारे में है
प्रदर्शन विशेषताओं के बदले में पीजीलोडर की ज़रूरतें, और इसके बारे में नहीं
पीजीलोडर की समानांतर गतिविधि।
अन्य विकल्प प्रत्येक इनपुट स्रोत के लिए विशिष्ट हैं, कृपया इसके विशिष्ट भागों को देखें
उनकी सूचीकरण और कवरिंग के लिए दस्तावेज़ीकरण।
जैसे ही कोई बैच बंद हो जाता है बैच पंक्तियाँ या बैच आकार दहलीज है
पार किया गया, जो भी पहले आए। ऐसे मामलों में जब किसी बैच को बंद करना पड़ता है
बैच आकार सेटिंग, ए डिबग लेवल लॉग संदेश मुद्रित होता है जिसमें कितनी पंक्तियाँ फिट होती हैं
oversized बैच।
भार CSV
यह कमांड pgloader को a से डेटा लोड करने का निर्देश देता है CSV फ़ाइल। यहाँ एक उदाहरण है:
सीएसवी लोड करें
एन्कोडिंग आईएसओ-646-यूएस के साथ ´GeoLiteCity-Blocks.csv´ से
फ़ील्ड्स होना
(
स्टार्टइपनम, एंडइपनम, लोकआईडी
)
पोस्टग्रेस्क्ल में: // उपयोगकर्ता @ स्थानीय होस्ट: 54393/dbname?geolite.blocks
लक्ष्य स्तम्भ
(
(आईपी-रेंज स्टार्टआईपीएनम एंडआईपीएनम) का उपयोग करके आईपीरेंज आईपी4आर,
लोकआईडी
)
साथ काट-छाँट,
हेडर छोड़ें = 2,
फ़ील्ड वैकल्पिक रूप से ´"´ से संलग्न हैं,
फ़ील्ड बैकस्लैश-उद्धरण से बच गए,
´\t´ द्वारा समाप्त फ़ील्ड
वर्क_मेम को ´32 एमबी´ पर सेट करें, मेंटेनेंस_वर्क_मेम को ´64 एमबी´ पर सेट करें;
RSI csv प्रारूप कमांड निम्नलिखित खंडों और विकल्पों को स्वीकार करता है:
· से
फ़ाइल का नाम जहां से डेटा लोड करना है. एक स्वीकार करता है एन्कोडिंग विकल्प। उपयोग
--सूची-एन्कोडिंग यह जानने का विकल्प कि कौन से एन्कोडिंग नाम समर्थित हैं।
फ़ाइल नाम सिंगल कोट्स द्वारा संलग्न किया जा सकता है, और निम्न में से एक हो सकता है
विशेष मूल्य:
· इनलाइन
डेटा पार्स किए गए कमांड के अंत के बाद पाया जाता है। कितनी भी खाली पंक्तियाँ
कमांड के अंत और डेटा की शुरुआत के बीच स्वीकार किया जाता है।
· stdin
मानक इनपुट स्ट्रीम से डेटा पढ़ता है।
· फ़ाइल नाम मेल मिलाना
पूरा मिलान खंड को निम्नलिखित नियम का पालन करना चाहिए:
[ सभी फ़ाइल नाम | [पहला] फ़ाइल नाम]
मिलान regexp
[निर्देशिका में ´...´ ]
RSI मिलान खंड दिया गया लागू होता है नियमित अभिव्यक्ति (सटीक वाक्यविन्यास के लिए ऊपर देखें, कई
विकल्पों का उपयोग यहां किया जा सकता है) फ़ाइल नामों के लिए। तब केवल से डेटा लोड करना संभव है
उन सभी का पहला मैच.
वैकल्पिक IN निर्देशिका खंड यह निर्दिष्ट करने की अनुमति देता है कि खोजने के लिए किस निर्देशिका पर चलना है
डेटा फ़ाइलें, और या तो उस स्थान से संबंधित हो सकती हैं जहां से कमांड फ़ाइल पढ़ी जाती है, या
शुद्ध। दी गई निर्देशिका मौजूद होनी चाहिए.
RSI से विकल्प वैकल्पिक अल्पविराम से अलग की गई सूची का भी समर्थन करता है खेत नाम का वर्णन
में क्या अपेक्षित है CSV डेटा फ़ाइल, वैकल्पिक रूप से खंड द्वारा प्रस्तुत की गई होने खेत.
प्रत्येक फ़ील्ड नाम या तो केवल एक नाम हो सकता है या विशिष्ट पाठक के साथ चलने वाला नाम हो सकता है
उस फ़ील्ड के लिए विकल्प, वर्गाकार कोष्ठकों में संलग्न और अल्पविराम से अलग किए गए हैं। का समर्थन किया
प्रति फ़ील्ड रीडर विकल्प हैं:
· समाप्त by
का वर्णन देखें खेत समाप्त by नीचे.
इस विकल्प की प्रोसेसिंग फिलहाल लागू नहीं है.
· डेटा प्रारूप
जब फ़ील्ड दिनांक प्रकार की अपेक्षित होती है, तो यह विकल्प निर्दिष्ट करने की अनुमति देता है
फ़ाइल में उपयोग किया गया दिनांक प्रारूप.
दिनांक प्रारूप स्ट्रिंग PostgreSQL के विरुद्ध तैयार की गई टेम्पलेट स्ट्रिंग हैं to_char
टेम्प्लेट स्ट्रिंग्स समर्थन, निम्नलिखित पैटर्न तक सीमित:
· वर्ष भाग के लिए YYYY, YYY, YY
· संख्यात्मक माह भाग के लिए एम.एम
· संख्यात्मक दिवस भाग के लिए डीडी
· घंटे वाले हिस्से के लिए एचएच, एचएच12, एचएच24
· हूँ, हूँ, हूँ, हूँ
· अपराह्न, अपराह्न, अपराह्न, अपराह्न
· मिनट भाग के लिए एमआई
· सेकंड भाग के लिए एस.एस
· मिलीसेकंड भाग के लिए एमएस (4 अंक)
· माइक्रोसेकंड भाग के लिए यू.एस. (6 अंक)
· बिना विच्छेदित विराम चिह्न:- . *#@T/\ और स्पेस
यहाँ एक का उदाहरण है डेटा प्रारूप विशिष्टता:
कॉलम-नाम [तिथि प्रारूप ´YYYY-MM-DD HH24-MI-SS.US´]
· रिक्त if
यह विकल्प एक तर्क लेता है जो या तो कीवर्ड है कारतूस या दोहरा उद्धरण
स्ट्रिंग.
. कारतूस का उपयोग किया जाता है और जो फ़ील्ड मान पढ़ा जाता है उसमें केवल स्पेस वर्ण होते हैं,
फिर यह स्वचालित रूप से SQL में परिवर्तित हो जाता है नल मूल्य.
जब एक डबल-उद्धृत स्ट्रिंग का उपयोग किया जाता है और उस स्ट्रिंग को फ़ील्ड मान के रूप में पढ़ा जाता है
फ़ील्ड मान स्वचालित रूप से SQL में परिवर्तित हो जाता है नल मूल्य.
· ट्रिम के छात्रों खाली स्थान के, ट्रिम बाएं खाली स्थान के, ट्रिम सही खाली स्थान के
यह विकल्प पढ़े गए डेटा में रिक्त स्थानों को दोनों ओर से ट्रिम करने की अनुमति देता है
डेटा, या केवल स्ट्रीमिंग के बाईं ओर पाए जाने वाले रिक्त स्थान वर्ण, या केवल
जो स्ट्रिंग के दाईं ओर हैं।
· साथ में
ए से लोड करते समय CSV फ़ाइल, निम्नलिखित विकल्प समर्थित हैं:
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है TRUNCATE PostgreSQL के विरुद्ध आदेश
डेटा फ़ाइल को पढ़ने से पहले लक्ष्य तालिका।
· बूंद अनुक्रमणिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader समस्याएँ आती हैं ड्रॉप सूचकांक सभी के खिलाफ आदेश
फिर, डेटा की प्रतिलिपि बनाने से पहले लक्ष्य तालिका पर अनुक्रमित परिभाषित किए गए बनाएँ सूचकांक
एक बार आदेश देता है कॉपी पूरा हो गया है।
सर्वोत्तम प्रदर्शन प्राप्त करने के लिए, सभी सूचकांक बनाए गए हैं
समानांतर और जब पूरा हो जाता है तो प्राथमिक कुंजियाँ अद्वितीय अनुक्रमणिका से फिर से बनाई जाती हैं
बनाया था। यह दो चरणों वाली प्रक्रिया समानांतर में प्राथमिक कुंजी सूचकांक बनाने की अनुमति देती है
अन्य सूचकांक, केवल के रूप में बदलने टेबल कमांड को एक की जरूरत है पहुँच अनन्य ताला on
लक्ष्य तालिका.
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· स्किप हैडर
तर्क के रूप में एक संख्यात्मक मान लेता है। pgloader को उतनी पंक्तियाँ छोड़ने का निर्देश दें
इनपुट फ़ाइल की शुरुआत.
· csv हैडर
बाद में पढ़ी गई पहली पंक्ति का प्रयोग करें स्किप हैडर सीएसवी फ़ील्ड नामों की सूची के रूप में पाया जाना है
CSV फ़ाइल में, CSV डेटा के समान CSV पैरामीटर का उपयोग करके।
· ट्रिम गैर उद्धृत कारतूस
में गैर-उद्धृत मानों को पढ़ते समय CSV फ़ाइल के बीच में पाए गए रिक्त स्थान को हटा दें
विभाजक और मूल्य. वह व्यवहार डिफ़ॉल्ट है.
· रखना गैर उद्धृत कारतूस
में गैर-उद्धृत मानों को पढ़ते समय CSV फ़ाइल के बीच में पाए जाने वाले रिक्त स्थान को रखें
विभाजक और मूल्य.
· फ़ील्ड्स वैकल्पिक रूप से संलग्न by
एक एकल वर्ण को तर्क के रूप में लेता है, जिसे एकल उद्धरण चिह्नों के अंदर पाया जाना चाहिए, और
मुद्रण योग्य वर्ण के रूप में ही दिया जा सकता है, a को दर्शाने के लिए विशेष मान \t
सारणीकरण चरित्र, या 0x फिर एक हेक्साडेसिमल मान को ASCII कोड के रूप में पढ़ा जाता है
चरित्र.
इस वर्ण का उपयोग उद्धरण चिह्न के रूप में किया जाता है CSV फ़ाइल, और डिफ़ॉल्ट
दोहरे उद्धरण।
· फ़ील्ड्स नहीं संलग्न
डिफ़ॉल्ट रूप से, pgloader संलग्न वर्ण के रूप में दोहरे-उद्धरण वर्ण का उपयोग करेगा।
यदि आपके पास एक सीएसवी फ़ाइल है जहां फ़ील्ड संलग्न नहीं हैं और डबल-उद्धरण का उपयोग कर रहे हैं
अपेक्षित साधारण वर्ण, फिर विकल्प का उपयोग करें फ़ील्ड्स नहीं संलग्न सीएसवी के लिए
उन मानों को स्वीकार करने के लिए पार्सर।
· फ़ील्ड्स भाग निकले by
या तो विशेष मूल्य लेता है बैकस्लैश-उद्धरण or दोहरे उद्धरण, या कोई भी मूल्य समर्थित
द्वारा फ़ील्ड्स समाप्त by विकल्प (नीचे देखें)। इस मान का उपयोग पहचानने के लिए किया जाता है
बच गए फ़ील्ड विभाजक जब वे स्वयं डेटा फ़ील्ड के भीतर पाए जाते हैं।
के लिए चूक दोहरे उद्धरण.
· csv बच मोड
या तो विशेष मूल्य लेता है उद्धरण (डिफ़ॉल्ट) या निम्नलिखित और सीएसवी की अनुमति देता है
पार्सर या तो केवल बच गए फ़ील्ड विभाजक या किसी भी चरित्र (CSV सहित) को पार्स करने के लिए
डेटा) का उपयोग करते समय निम्नलिखित मूल्य.
· फ़ील्ड्स समाप्त by
एक एकल वर्ण को तर्क के रूप में लेता है, जिसे एकल उद्धरण चिह्नों के अंदर पाया जाना चाहिए, और
मुद्रण योग्य वर्ण के रूप में ही दिया जा सकता है, a को दर्शाने के लिए विशेष मान \t
सारणीकरण चरित्र, या 0x फिर एक हेक्साडेसिमल मान को ASCII कोड के रूप में पढ़ा जाता है
चरित्र.
इस वर्ण का उपयोग इस प्रकार किया जाता है खेत विभाजक पढ़ते समय CSV डेटा.
· पंक्तियां समाप्त by
एक एकल वर्ण को तर्क के रूप में लेता है, जिसे एकल उद्धरण चिह्नों के अंदर पाया जाना चाहिए, और
मुद्रण योग्य वर्ण के रूप में ही दिया जा सकता है, a को दर्शाने के लिए विशेष मान \t
सारणीकरण चरित्र, या 0x फिर एक हेक्साडेसिमल मान को ASCII कोड के रूप में पढ़ा जाता है
चरित्र.
इस अक्षर का प्रयोग पहचानने के लिए किया जाता है पंक्ति का अंत पढ़ते समय स्थिति CSV डेटा.
भार FIXED COLS
यह कमांड pgloader को व्यवस्थित कॉलम वाली टेक्स्ट फ़ाइल से डेटा लोड करने का निर्देश देता है
में तय आकार तरीका। यहाँ एक उदाहरण है:
लोड ठीक हो गया
इनलाइन से
(
0 से 10 तक,
बी 10 से 8 तक,
सी 18 से 8 तक,
d 26 से 17 तक [यदि रिक्त स्थान है तो शून्य करें, दाएँ रिक्त स्थान को ट्रिम करें]
)
पोस्टग्रैस्कल में: ///pgloader? निश्चित
(
ए, बी,
सी समय का उपयोग (समय-बिना-विभाजक सी के साथ),
d
)
साथ काट-छाँट
client_encoding को ´latin1´ पर सेट करें,
वर्क_मेम से ´14एमबी´,
मानक_अनुरूपण_स्ट्रिंग्स को ´पर´ पर
लोड करने से पहले करें
$$ ड्रॉप टेबल यदि मौजूद है तो निश्चित; $$,
$$ तालिका बनाना ठीक किया गया (
एक पूर्णांक,
बी तारीख,
ग समय,
घ पाठ
);
$$;
01234567892008052011431250फर्स्टलाइन
01234562008052115182300खाली छोड़ दिया गया
12345678902008052208231560एक और लाइन
2345609872014092914371500
2345678902014092914371520
RSI तय प्रारूप कमांड निम्नलिखित खंडों और विकल्पों को स्वीकार करता है:
· से
फ़ाइल का नाम जहां से डेटा लोड करना है. एक स्वीकार करता है एन्कोडिंग विकल्प। उपयोग
--सूची-एन्कोडिंग यह जानने का विकल्प कि कौन से एन्कोडिंग नाम समर्थित हैं।
फ़ाइल नाम सिंगल कोट्स द्वारा संलग्न किया जा सकता है, और निम्न में से एक हो सकता है
विशेष मूल्य:
· इनलाइन
डेटा पार्स किए गए कमांड के अंत के बाद पाया जाता है। कितनी भी खाली पंक्तियाँ
कमांड के अंत और डेटा की शुरुआत के बीच स्वीकार किया जाता है।
· stdin
मानक इनपुट स्ट्रीम से डेटा पढ़ता है।
RSI से विकल्प वैकल्पिक अल्पविराम से अलग की गई सूची का भी समर्थन करता है खेत नाम का वर्णन
में क्या अपेक्षित है FIXED डेटा फ़ाइल।
प्रत्येक फ़ील्ड नाम फ़ील्ड नाम से बना होता है जिसके बाद विशिष्ट पाठक विकल्प होते हैं
वह क्षेत्र. समर्थित प्रति-फ़ील्ड रीडर विकल्प निम्नलिखित हैं, केवल वहीं प्रारंभ और
लंबाई आवश्यक हैं.
· प्रारंभ
पंक्ति में वह स्थान जहाँ से उस फ़ील्ड का मान पढ़ना शुरू करना है। के साथ प्रवेश किया जा सकता है
दशमलव अंक या 0x फिर हेक्साडेसिमल अंक।
· लंबाई
से कितने बाइट्स पढ़ने हैं प्रारंभ उस फ़ील्ड का मान पढ़ने की स्थिति। वही प्रारूप
as प्रारंभ.
उन वैकल्पिक मापदंडों को वर्गाकार कोष्ठकों में संलग्न किया जाना चाहिए और अल्पविराम से अलग किया जाना चाहिए:
· समाप्त by
का वर्णन देखें खेत समाप्त by नीचे.
इस विकल्प की प्रोसेसिंग फिलहाल लागू नहीं है.
· डेटा प्रारूप
जब फ़ील्ड दिनांक प्रकार की अपेक्षित होती है, तो यह विकल्प निर्दिष्ट करने की अनुमति देता है
फ़ाइल में उपयोग किया गया दिनांक प्रारूप.
दिनांक प्रारूप स्ट्रिंग PostgreSQL के विरुद्ध तैयार की गई टेम्पलेट स्ट्रिंग हैं to_char
टेम्प्लेट स्ट्रिंग्स समर्थन, निम्नलिखित पैटर्न तक सीमित:
· वर्ष भाग के लिए YYYY, YYY, YY
· संख्यात्मक माह भाग के लिए एम.एम
· संख्यात्मक दिवस भाग के लिए डीडी
· घंटे वाले हिस्से के लिए एचएच, एचएच12, एचएच24
· हूँ, हूँ, हूँ, हूँ
· अपराह्न, अपराह्न, अपराह्न, अपराह्न
· मिनट भाग के लिए एमआई
· सेकंड भाग के लिए एस.एस
· मिलीसेकंड भाग के लिए एमएस (4 अंक)
· माइक्रोसेकंड भाग के लिए यू.एस. (6 अंक)
· बिना विच्छेदित विराम चिह्न:- . *#@T/\ और स्पेस
यहाँ एक का उदाहरण है डेटा प्रारूप विशिष्टता:
कॉलम-नाम [तिथि प्रारूप ´YYYY-MM-DD HH24-MI-SS.US´]
· रिक्त if
यह विकल्प एक तर्क लेता है जो या तो कीवर्ड है कारतूस या दोहरा उद्धरण
स्ट्रिंग.
. कारतूस का उपयोग किया जाता है और जो फ़ील्ड मान पढ़ा जाता है उसमें केवल स्पेस वर्ण होते हैं,
फिर यह स्वचालित रूप से SQL में परिवर्तित हो जाता है नल मूल्य.
जब एक डबल-उद्धृत स्ट्रिंग का उपयोग किया जाता है और उस स्ट्रिंग को फ़ील्ड मान के रूप में पढ़ा जाता है
फ़ील्ड मान स्वचालित रूप से SQL में परिवर्तित हो जाता है नल मूल्य.
· ट्रिम के छात्रों खाली स्थान के, ट्रिम बाएं खाली स्थान के, ट्रिम सही खाली स्थान के
यह विकल्प पढ़े गए डेटा में रिक्त स्थानों को दोनों ओर से ट्रिम करने की अनुमति देता है
डेटा, या केवल स्ट्रीमिंग के बाईं ओर पाए जाने वाले रिक्त स्थान वर्ण, या केवल
जो स्ट्रिंग के दाईं ओर हैं।
· साथ में
ए से लोड करते समय FIXED फ़ाइल, निम्नलिखित विकल्प समर्थित हैं:
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है TRUNCATE PostgreSQL के विरुद्ध आदेश
डेटा फ़ाइल को पढ़ने से पहले लक्ष्य तालिका।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· स्किप हैडर
तर्क के रूप में एक संख्यात्मक मान लेता है। pgloader को उतनी पंक्तियाँ छोड़ने का निर्देश दें
इनपुट फ़ाइल की शुरुआत.
भार कॉपी स्वरूपित फ़ाइलें
यह आदेश pgloader को COPY TEXT डेटा वाली फ़ाइल से लोड करने का निर्देश देता है
PostgreSQL दस्तावेज़ में वर्णित है। यहाँ एक उदाहरण है:
कॉपी लोड करें
प्रतिलिपि से: //./data/track.copy
(
ट्रैकआईडी, ट्रैक, एल्बम, मीडिया, शैली, संगीतकार,
मिलीसेकंड, बाइट्स, इकाई मूल्य
)
पोस्टग्रैस्कल में: ///pgloader?track_full
साथ काट-छाँट
client_encoding को ´latin1´ पर सेट करें,
वर्क_मेम से ´14एमबी´,
मानक_अनुरूपण_स्ट्रिंग्स को ´पर´ पर
लोड करने से पहले करें
यदि ट्रैक_फुल मौजूद है तो $$ ड्रॉप टेबल; $$,
$$ तालिका बनाएं ट्रैक_फुल (
ट्रैकिड बिगसीरियल,
टेक्स्ट ट्रैक करें,
एल्बम पाठ,
मीडिया पाठ,
शैली पाठ,
संगीतकार पाठ,
मिलीसेकेंड बिगिंट,
बाइट्स बिगिंट,
इकाई मूल्य संख्यात्मक
);
$$;
RSI कॉपी प्रारूप कमांड निम्नलिखित खंडों और विकल्पों को स्वीकार करता है:
· से
फ़ाइल का नाम जहां से डेटा लोड करना है. यह स्थानीय फ़ाइलों, HTTP URL और ज़िप का समर्थन करता है
एक ही नाम की एकल dbf फ़ाइल वाली फ़ाइलें। ऐसी ज़िप फ़ाइल किसी से प्राप्त करें
HTTP पता निश्चित रूप से समर्थित है।
· साथ में
ए से लोड करते समय कॉपी फ़ाइल, निम्नलिखित विकल्प समर्थित हैं:
· सीमांकक
एक एकल वर्ण को तर्क के रूप में लेता है, जिसे एकल उद्धरण चिह्नों के अंदर पाया जाना चाहिए, और
मुद्रण योग्य वर्ण के रूप में ही दिया जा सकता है, a को दर्शाने के लिए विशेष मान \t
सारणीकरण चरित्र, या 0x फिर एक हेक्साडेसिमल मान को ASCII कोड के रूप में पढ़ा जाता है
चरित्र.
इस वर्ण का उपयोग इस प्रकार किया जाता है सीमांकक डेटा पढ़ते समय, उसी तरह से
पोस्टग्रेएसक्यूएल कॉपी विकल्प.
· रिक्त
एक उद्धृत स्ट्रिंग को एक तर्क के रूप में लेता है (उद्धरण या तो दोहरे उद्धरण चिह्न या एकल हो सकते हैं
उद्धरण) और उस स्ट्रिंग का उपयोग करता है नल डेटा में प्रतिनिधित्व.
यह समान है रिक्त कॉपी PostgreSQL में विकल्प।
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है TRUNCATE PostgreSQL के विरुद्ध आदेश
डेटा फ़ाइल को पढ़ने से पहले लक्ष्य तालिका।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· स्किप हैडर
तर्क के रूप में एक संख्यात्मक मान लेता है। pgloader को उतनी पंक्तियाँ छोड़ने का निर्देश दें
इनपुट फ़ाइल की शुरुआत.
भार DBF
यह कमांड pgloader को a से डेटा लोड करने का निर्देश देता है DBF फ़ाइल। यहाँ एक उदाहरण है:
डीबीएफ लोड करें
से http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
Postgresql://user@localhost/dbname में
ट्रंकेट के साथ, तालिका बनाएं;
RSI DBF प्रारूप कमांड निम्नलिखित खंडों और विकल्पों को स्वीकार करता है:
· से
फ़ाइल का नाम जहां से डेटा लोड करना है. यह स्थानीय फ़ाइलों, HTTP URL और ज़िप का समर्थन करता है
एक ही नाम की एकल dbf फ़ाइल वाली फ़ाइलें। ऐसी ज़िप फ़ाइल किसी से प्राप्त करें
HTTP पता निश्चित रूप से समर्थित है।
· साथ में
ए से लोड करते समय DBF फ़ाइल, निम्नलिखित विकल्प समर्थित हैं:
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है TRUNCATE PostgreSQL के विरुद्ध आदेश
डेटा फ़ाइल को पढ़ने से पहले लक्ष्य तालिका।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· बनाना तालिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इसमें पाए गए मेटा डेटा का उपयोग करके तालिका बनाता है
la DBF फ़ाइल, जिसमें उनके डेटा प्रकार के साथ फ़ील्ड की एक सूची होनी चाहिए। स्टैन्डर्ड
DBF से PostgreSQL में डेटा प्रकार रूपांतरण किया जाता है।
· तालिका नाम
यह विकल्प अपने मान के रूप में बनाई जाने वाली तालिका के संभावित योग्य नाम की अपेक्षा करता है।
भार IXF
यह कमांड pgloader को IBM से डेटा लोड करने का निर्देश देता है IXF फ़ाइल। यहाँ एक उदाहरण है:
लोड IXF
डेटा/nsitra.test1.ixf से
पोस्टग्रेस्क्ल में: ///pgloader?nsitra.test1
काट-छाँट के साथ, तालिका बनाएँ
लोड करने से पहले करें
$$ यदि एनसिट्रा मौजूद नहीं है तो स्कीमा बनाएं; $$,
यदि nsitra.test1 मौजूद है तो $$ ड्रॉप टेबल; $$;
RSI आईएक्सएफ प्रारूप कमांड निम्नलिखित खंडों और विकल्पों को स्वीकार करता है:
· से
फ़ाइल का नाम जहां से डेटा लोड करना है. यह स्थानीय फ़ाइलों, HTTP URL और ज़िप का समर्थन करता है
एक ही नाम की एकल ixf फ़ाइल वाली फ़ाइलें। ऐसी ज़िप फ़ाइल किसी से प्राप्त करें
HTTP पता निश्चित रूप से समर्थित है।
· साथ में
ए से लोड करते समय IXF फ़ाइल, निम्नलिखित विकल्प समर्थित हैं:
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है TRUNCATE PostgreSQL के विरुद्ध आदेश
डेटा फ़ाइल को पढ़ने से पहले लक्ष्य तालिका।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· बनाना तालिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इसमें पाए गए मेटा डेटा का उपयोग करके तालिका बनाता है
la DBF फ़ाइल, जिसमें उनके डेटा प्रकार के साथ फ़ील्ड की एक सूची होनी चाहिए। स्टैन्डर्ड
DBF से PostgreSQL में डेटा प्रकार रूपांतरण किया जाता है।
· तालिका नाम
यह विकल्प अपने मान के रूप में बनाई जाने वाली तालिका के संभावित योग्य नाम की अपेक्षा करता है।
भार पुरालेख
यह कमांड pgloader को इसमें मौजूद एक या अधिक फ़ाइलों से डेटा लोड करने का निर्देश देता है
पुरालेख। वर्तमान में एकमात्र समर्थित संग्रह प्रारूप है ज़िप, और पुरालेख हो सकता है
एक से डाउनलोड किया गया HTTP यूआरएल.
यहाँ एक उदाहरण है:
पुरालेख लोड करें
/Users/dim/Downloads/GeoLiteCity-latest.zip से
पोस्टग्रेस्क्ल में: ///ip4r
लोड करने से पहले
यदि ip4r मौजूद नहीं है तो $$ एक्सटेंशन बनाएं; $$,
$$ यदि जियोलाइट मौजूद नहीं है तो स्कीमा बनाएं; $$,
´geolite.sql´ निष्पादित करें
सीएसवी लोड करें
फ़ाइलनाम मिलान से ~/GeoLiteCity-Location.csv/
एन्कोडिंग आईएसओ-8859-1 के साथ
(
लोकआईडी,
देश,
यदि रिक्त स्थान है तो क्षेत्र शून्य,
शहर शून्य यदि रिक्त है,
यदि रिक्त हो तो पोस्टलकोड शून्य,
अक्षांश,
देशांतर,
यदि रिक्त स्थान है तो मेट्रोकोड शून्य,
यदि रिक्त स्थान है तो एरियाकोड शून्य
)
पोस्टग्रेस्क्ल में: ///ip4r?geolite.location
(
लोकिड, देश, क्षेत्र, शहर, डाक कोड,
(प्रारूप शून्य "(~a,~a)" देशांतर अक्षांश) का उपयोग करते हुए स्थान बिंदु,
मेट्रो कोड, एरिया कोड
)
साथ हेडर छोड़ें = 2,
फ़ील्ड वैकल्पिक रूप से ´"´ से संलग्न हैं,
डबल-उद्धरण से फ़ील्ड बच गए,
´,´ द्वारा समाप्त फ़ील्ड
और सीएसवी लोड करें
फ़ाइलनाम मिलान से ~/GeoLiteCity-Blocks.csv/
एन्कोडिंग आईएसओ-8859-1 के साथ
(
स्टार्टइपनम, एंडइपनम, लोकआईडी
)
पोस्टग्रेस्क्ल में: ///ip4r?geolite.blocks
(
(आईपी-रेंज स्टार्टआईपीएनम एंडआईपीएनम) का उपयोग करके आईपीरेंज आईपी4आर,
लोकआईडी
)
साथ हेडर छोड़ें = 2,
फ़ील्ड वैकल्पिक रूप से ´"´ से संलग्न हैं,
डबल-उद्धरण से फ़ील्ड बच गए,
´,´ द्वारा समाप्त फ़ील्ड
अंततः करो
$$ gist(iprange) का उपयोग करके जियोलाइट.ब्लॉक पर इंडेक्स ब्लॉक_ip4r_idx बनाएं; $$;
RSI संग्रह कमांड निम्नलिखित खंड और विकल्प स्वीकार करता है:
· से
फ़ाइल नाम या HTTP URI जहां से डेटा लोड करना है। जब एक HTTP यूआरएल दिया जाता है तो लिंक किया जाता है
प्रसंस्करण से पहले फ़ाइल स्थानीय रूप से डाउनलोड हो जाएगी।
यदि फ़ाइल एक है ज़िप फ़ाइल, कमांड लाइन उपयोगिता खोलना का विस्तार करने के लिए उपयोग किया जाता है
फ़ाइलों में संग्रहित करें $टीएमपीडीआईआरया, / Tmp if $टीएमपीडीआईआर अनसेट है या गैर-मौजूदा पर सेट है
निर्देशिका.
फिर निम्न आदेशों का उपयोग शीर्ष स्तर की निर्देशिका से किया जाता है जहां संग्रह होता है
का विस्तार किया गया है.
· आज्ञा [ और आज्ञा ... ]
संग्रह की सामग्री के विरुद्ध आदेशों की एक श्रृंखला, केवल इस समय
CSV,हल किया गया और DBF आदेश समर्थित हैं.
ध्यान दें कि आदेश खंड का समर्थन कर रहे हैं से फ़ाइल का नाम मेल मिलाना जो अनुमति देता है
pgloader कमांड को संग्रह निर्देशिकाओं के सटीक नामों पर निर्भर नहीं होना चाहिए।
वर्तनी का उपयोग करके एक ही खंड को कई फ़ाइलों पर भी लागू किया जा सकता है से सब
फ़ाइल नाम मेल मिलाना और एक नियमित अभिव्यक्ति.
पूरा मिलान खंड को निम्नलिखित नियम का पालन करना चाहिए:
से [ सभी फ़ाइल नाम | [पहला] फ़ाइल नाम] मिलान
· आखिरकार DO
डेटा लोड होने के बाद चलने वाली SQL क्वेरीज़, जैसे बनाएँ सूचकांक.
भार MYSQL डेटाबेस
यह कमांड pgloader को डेटाबेस कनेक्शन से डेटा लोड करने का निर्देश देता है। केवल
समर्थित डेटाबेस स्रोत वर्तमान में है MySQL, और pgloader गतिशील रूप से परिवर्तित करने का समर्थन करता है
स्रोत डेटाबेस और अनुक्रमणिका निर्माण की स्कीमा।
कास्टिंग नियमों का एक डिफ़ॉल्ट सेट प्रदान किया जाता है और इसे ओवरलोड किया जा सकता है और इसमें जोड़ा जा सकता है
आदेश।
यहाँ एक उदाहरण है:
डेटाबेस लोड करें
MySQL से:// जड़@localhost/sakila
पोस्टग्रेस्क्ल में: // लोकलहोस्ट: 54393/सकिला
साथ में ड्रॉप शामिल करें, टेबल बनाएं, इंडेक्स बनाएं, अनुक्रम रीसेट करें
रखरखाव_कार्य_मेम को ´128एमबी´ पर सेट करें,
वर्क_मेम से ´12एमबी´,
'सकिला' के लिए खोज_पथ
शून्य-दिनांक-से-शून्य का उपयोग करके CAST प्रकार डेटाटाइम से टाइमस्टैम्पज़ ड्रॉप डिफ़ॉल्ट ड्रॉप शून्य नहीं,
शून्य-दिनांक-से-शून्य का उपयोग करके दिनांक ड्रॉप टाइप करें शून्य ड्रॉप डिफ़ॉल्ट नहीं,
- टिनिंट-टू-बूलियन का उपयोग करके टिनिंट को बूलियन में टाइप करें,
वर्ष को पूर्णांक में टाइप करें
फिल्म_सूची, स्टाफ_सूची के दृश्यों को मूर्त रूप दें
- केवल मिलान करने वाले तालिका नाम शामिल हैं ~/फ़िल्म/, अभिनेता
- मिलान करने वाले तालिका नामों को छोड़कर ~
- डिकोडिंग टेबल नाम मिलान ~/गड़बड़/, ~/एनकोडिंग/ एएस यूटीएफ8
लोड करने से पहले करें
$$ यदि मौजूद नहीं है तो स्कीमा बनाएं सकीला; $$;
RSI डेटाबेस कमांड निम्नलिखित खंड और विकल्प स्वीकार करता है:
· से
MySQL डेटाबेस की ओर इंगित करने वाला एक कनेक्शन URL होना चाहिए। फिलहाल केवल MySQL ही है
एक पीजीलोडर स्रोत के रूप में समर्थित।
यदि कनेक्शन यूआरआई में एक तालिका नाम है, तो केवल इस तालिका से माइग्रेट किया जाता है
MySQL से PostgreSQL.
· साथ में
ए से लोड करते समय MySQL डेटाबेस, निम्नलिखित विकल्प समर्थित हैं, और
चूक साथ में उपवाक्य है: नहीं काट-छांट, बनाना टेबल, शामिल बूंद, बनाना अनुक्रमणिका, रीसेट करें
दृश्यों, विदेशी Instagram पर , डाउनकेस पहचानकर्ता.
साथ में विकल्प हैं:
· शामिल बूंद
जब यह विकल्प सूचीबद्ध होता है, तो pgloader लक्ष्य PostgreSQL में सभी तालिकाओं को हटा देता है
डेटाबेस जिनके नाम SQLite डेटाबेस में दिखाई देते हैं। यह विकल्प इसका उपयोग करने की अनुमति देता है
जब तक आप सभी विकल्पों का पता नहीं लगा लेते, तब तक एक ही कमांड को लगातार कई बार शुरू करें
स्वच्छ वातावरण से स्वचालित रूप से। कृपया ध्यान दें कि झरना सुनिश्चित करने के लिए प्रयोग किया जाता है
तालिकाएँ हटा दी जाती हैं, भले ही उनकी ओर इशारा करने वाली विदेशी कुंजियाँ हों। यह है
बिल्कुल क्या शामिल बूंद ऐसा करने का इरादा है: सभी लक्ष्य तालिकाएँ छोड़ें और पुनः बनाएँ
उन्हें.
उपयोग करते समय बहुत सावधानी बरतनी पड़ती है शामिल बूंद, जैसे-जैसे यह झरना होगा सब
लक्ष्य तालिकाओं को संदर्भित करने वाली वस्तुएं, संभवतः अन्य तालिकाओं सहित जो नहीं हैं
स्रोत DB से लोड किया जा रहा है।
· शामिल नहीं बूंद
जब यह विकल्प सूचीबद्ध होता है, तो pgloader में कोई भी शामिल नहीं होगा ड्रॉप लोड करते समय कथन
आँकड़े।
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader जारी करता है TRUNCATE प्रत्येक के विरुद्ध आदेश
इसमें डेटा लोड करने से ठीक पहले PostgreSQL तालिका।
· नहीं काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो पीजीलोडर नंबर जारी करता है TRUNCATE आदेश।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· बनाना टेबल
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इसमें पाए गए मेटा डेटा का उपयोग करके तालिका बनाता है
la MySQL फ़ाइल, जिसमें उनके डेटा प्रकार के साथ फ़ील्ड की एक सूची होनी चाहिए। स्टैन्डर्ड
DBF से PostgreSQL में डेटा प्रकार रूपांतरण किया जाता है।
· बनाना नहीं टेबल
जब यह विकल्प सूचीबद्ध होता है, तो pgloader डेटा भेजने से पहले तालिका का निर्माण छोड़ देता है,
लक्ष्य तालिकाएँ पहले से ही मौजूद होनी चाहिए।
· बनाना अनुक्रमणिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader को इसमें पाए जाने वाले सभी इंडेक्स की परिभाषाएँ मिलती हैं
MySQL डेटाबेस और PostgreSQL के विरुद्ध इंडेक्स परिभाषाओं का समान सेट बनाएं
डेटाबेस।
· बनाना नहीं अनुक्रमणिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इंडेक्स बनाना छोड़ देता है।
· अद्वितीय बनाना अनुक्रमणिका नामों, बनाए रखने के अनुक्रमणिका नामों
MySQL इंडेक्स नाम प्रति-टेबल अद्वितीय होते हैं जबकि PostgreSQL इंडेक्स नाम अद्वितीय होने चाहिए
अद्वितीय प्रति-स्कीमा. pgloader के लिए डिफ़ॉल्ट उपसर्ग द्वारा अनुक्रमणिका नाम बदलना है
इसके साथ idx_OID जहां OID सूचकांक जिस तालिका में है उसका आंतरिक संख्यात्मक पहचानकर्ता है
के विरुद्ध बनाया गया।
कुछ मामलों में, जैसे कि जब डीडीएल को पूरी तरह से एक ढांचे पर छोड़ दिया जाता है तो यह समझदारी हो सकती है
पीजीलोडर के लिए इंडेक्स अद्वितीय नामों को संभालने से बचना, जो कि उपयोग करके हासिल किया जाता है
la बनाए रखने के अनुक्रमणिका नामों विकल्प.
डिफ़ॉल्ट है अद्वितीय बनाना अनुक्रमणिका नामों.
विकल्प का उपयोग करते समय भी बनाए रखने के अनुक्रमणिका नामों, MySQL प्राथमिक कुंजी अनुक्रमणिका नामित
"प्राथमिक" से उनके नाम विशिष्ट हो जायेंगे। ऐसा न करने पर प्राथमिक को रोका जा सकेगा
PostgreSQL में फिर से कुंजियाँ बनाई जाएंगी जहाँ सूचकांक नाम अद्वितीय होने चाहिए
स्कीमा।
· विदेशी Instagram पर
जब यह विकल्प सूचीबद्ध होता है, तो pgloader को सभी विदेशी कुंजियों की परिभाषाएँ मिलती हैं
MySQL डेटाबेस में पाया गया और इसके विरुद्ध विदेशी कुंजी परिभाषाओं का समान सेट बनाया गया
PostgreSQL डेटाबेस।
· नहीं विदेशी Instagram पर
जब यह विकल्प सूचीबद्ध होता है, तो pgloader विदेशी कुंजियाँ बनाना छोड़ देता है।
· रीसेट करें दृश्यों
जब यह विकल्प सूचीबद्ध होता है, तो डेटा लोडिंग के अंत में और इंडेक्स के बाद
सभी बनाए गए, pgloader वर्तमान में बनाए गए सभी PostgreSQL अनुक्रमों को रीसेट करता है
जिस कॉलम से वे जुड़े हुए हैं उसका अधिकतम मूल्य।
विकल्प योजना केवल और तिथि केवल इस विकल्प पर कोई प्रभाव नहीं पड़ेगा.
· रीसेट करें नहीं दृश्यों
जब यह विकल्प सूचीबद्ध होता है, तो pgloader लोड के बाद अनुक्रम रीसेट करना छोड़ देता है।
विकल्प योजना केवल और तिथि केवल इस विकल्प पर कोई प्रभाव नहीं पड़ेगा.
· डाउनकेस पहचानकर्ता
जब यह विकल्प सूचीबद्ध होता है, तो pgloader सभी MySQL पहचानकर्ताओं (तालिका नाम,
सूचकांक नाम, स्तंभ नाम) को डाउनकेस, PostgreSQL को छोड़कर आरक्षित कीवर्ड।
पोस्टग्रेएसक्यूएल आरक्षित सिस्टम का उपयोग करके कीवर्ड गतिशील रूप से निर्धारित किए जाते हैं
समारोह pg_get_keywords().
· उद्धरण पहचानकर्ता
जब यह विकल्प सूचीबद्ध होता है, तो pgloader सभी MySQL पहचानकर्ताओं को उद्धृत करता है ताकि उनका मामला
सम्मान किया जाता है. ध्यान दें कि फिर आपको अपने आवेदन में भी यही काम करना होगा
कोड प्रश्न.
· योजना केवल
जब यह विकल्प सूचीबद्ध होता है तो pgloader डेटा को स्थानांतरित करने से रोकता है। ध्यान दें कि
इस संदर्भ में स्कीमा में विकल्प होने पर अनुक्रमणिका शामिल होती है बनाना अनुक्रमणिका है
सूचीबद्ध किया गया है.
· तिथि केवल
जब यह विकल्प सूचीबद्ध होता है तो pgloader केवल जारी करता है कॉपी बयान, बिना कुछ किए
अन्य प्रसंस्करण.
· कास्ट
कास्ट क्लॉज कस्टम कास्टिंग नियमों को निर्दिष्ट करने की अनुमति देता है, या तो डिफ़ॉल्ट को ओवरलोड करने के लिए
कास्टिंग नियम या विशेष मामलों में उनमें संशोधन करना।
कास्टिंग नियम से निम्नलिखित में से किसी एक रूप का पालन करने की अपेक्षा की जाती है:
प्रकार [ ... ] को [ ... ]
कॉलम . [ ] को ...
यह एक के लिए संभव है ढलाई शासन या तो MySQL डेटा प्रकार के विरुद्ध या a के विरुद्ध मिलान करने के लिए
दी स्तंभ नाम किसी दिए गए में तालिका नाम. वह लचीलापन उन मामलों से निपटने की अनुमति देता है जहां
टाइप टिनिंट के रूप में उपयोग किया गया होगा बूलियन कुछ मामलों में लेकिन एक के रूप में छोटा सा in
अन्य शामिल हैं।
RSI ढलाई नियम क्रम में लागू होते हैं, पहला मिलान नियमों का पालन करने से रोकता है
लागू किया जाता है, और उपयोगकर्ता परिभाषित नियमों का मूल्यांकन पहले किया जाता है।
समर्थित गार्ड हैं:
· कब चूक कीमत
कास्टिंग नियम केवल स्रोत प्रकार के MySQL कॉलम के विरुद्ध लागू होता है
दी मूल्य, जो एकल-उद्धृत या दोहरे-उद्धृत स्ट्रिंग होनी चाहिए।
· कब टाइपमोड अभिव्यक्ति
कास्टिंग नियम केवल स्रोत प्रकार के MySQL कॉलम के विरुद्ध लागू किया जाता है
टाइपमोड दिए गए मूल्य से मेल खाता है टाइपमोड अभिव्यक्ति। टाइपमोड में अलग कर दिया गया है
शुद्धता और स्केल घटकों.
का उपयोग करके कास्ट नियम का उदाहरण टाइपमोड रक्षक:
char टाइप करें जब (= परिशुद्धता 1) char से टाइपमॉड रखें
यह अभिव्यक्ति MySQL को कास्ट करती है टैंक(1) प्रकार के PostgreSQL कॉलम में कॉलम टैंक(1) जब
सामान्य मामले के लिए अनुमति चार(एन) डिफ़ॉल्ट कास्ट नियम द्वारा परिवर्तित किया जाएगा
पोस्टग्रेएसक्यूएल प्रकार वर्चर(एन).
· साथ में अतिरिक्त स्वत: वेतनवृद्धि
कास्टिंग नियम केवल MySQL कॉलम के विरुद्ध लागू किया जाता है अतिरिक्त स्तंभ
स्वत: वेतनवृद्धि विकल्प सेट, ताकि लक्ष्य बनाना संभव हो, उदाहरण के लिए धारावाहिक बजाय
पूर्णांक.
डिफ़ॉल्ट मिलान व्यवहार, जब यह विकल्प सेट नहीं होता है, तो दोनों कॉलमों का मिलान करना होता है
अतिरिक्त परिभाषा के साथ और बिना.
इसका मतलब यह है कि यदि आप कोई कास्टिंग नियम लागू करना चाहते हैं तो वह लक्ष्य है धारावाहिक or
पूर्णांक एक से छोटा सा परिभाषा के आधार पर स्वत: वेतनवृद्धि का अतिरिक्त अंश
MySQL से जानकारी, तो आपको निम्नलिखित के रूप में दो कास्टिंग नियमों का वर्णन करना होगा:
अतिरिक्त auto_increment के साथ Smallint टाइप करें
सीरियल ड्रॉप टाइपमॉड को डिफ़ॉल्ट रखें, शून्य न रखें,
स्मालिंट टाइप करें
पूर्णांक ड्रॉप करने के लिए टाइपमॉड डिफ़ॉल्ट रखें, शून्य न रखें
समर्थित कास्टिंग विकल्प हैं:
· बूंद चूक, रखना चूक
जब विकल्प बूंद चूक सूचीबद्ध है, pgloader किसी भी मौजूदा डिफ़ॉल्ट अभिव्यक्ति को हटा देता है
स्रोत प्रकार के कॉलम के लिए MySQL डेटाबेस में बनाएँ टेबल कथन
यह उत्पन्न करता है।
वर्तनी रखना चूक स्पष्ट रूप से उस व्यवहार को रोकता है और इसका उपयोग किया जा सकता है
डिफ़ॉल्ट कास्टिंग नियमों को अधिभारित करें।
· बूंद नहीं रिक्त, रखना नहीं रिक्त
जब विकल्प बूंद नहीं रिक्त सूचीबद्ध है, pgloader किसी भी मौजूदा को हटा देता है नहीं नल
जब यह तालिकाएँ बनाता है तो दिए गए स्रोत MySQL डेटाटाइप से जुड़ी बाधा
PostgreSQL डेटाबेस में।
वर्तनी रखना नहीं रिक्त स्पष्ट रूप से उस व्यवहार को रोकता है और इसका उपयोग किया जा सकता है
डिफ़ॉल्ट कास्टिंग नियमों को अधिभारित करें।
· बूंद टाइपमोड, रखना टाइपमोड
जब विकल्प बूंद टाइपमोड सूचीबद्ध है, pgloader किसी भी मौजूदा को हटा देता है टाइपमोड परिभाषा
(उदाहरण के लिए शुद्धता और स्केल) MySQL कॉलम में पाई गई डेटाटाइप परिभाषा से
स्रोत प्रकार जब इसने PostgreSQL डेटाबेस में तालिकाएँ बनाईं।
वर्तनी रखना टाइपमोड स्पष्ट रूप से उस व्यवहार को रोकता है और इसका उपयोग किया जा सकता है
डिफ़ॉल्ट कास्टिंग नियमों को अधिभारित करें।
· का उपयोग
यह विकल्प अपने एकल तर्क के रूप में पाए जाने वाले फ़ंक्शन का नाम लेता है
pgloader.परिवर्तन सामान्य लिस्प पैकेज. विवरण के लिए ऊपर देखें.
डिफॉल्ट कास्ट नियम को बढ़ाना संभव है (जैसे कि जो इसके विरुद्ध लागू होता है)। enum
उदाहरण के लिए डेटा प्रकार) a के साथ परिवर्तन समारोह को पूरी तरह से छोड़ कर टाइप
कास्टिंग नियम के भाग, जैसा कि निम्नलिखित उदाहरण में है:
खाली-स्ट्रिंग-टू-नल का उपयोग करके कॉलम enumerate.foo
· अमल में लाना दृश्य
यह खंड आपको डेटा स्रोत पर कस्टम डेटा प्रोसेसिंग लागू करने की अनुमति देता है
प्रदान करना राय परिभाषा जिसके विरुद्ध pgloader डेटा को क्वेरी करेगा। यह
केवल सादे के लिए अनुमति देना संभव है एसक्यूएल क्योंकि हम सटीक के बारे में बहुत कुछ जानना चाहते हैं
क्वेरी आउटपुट में शामिल प्रत्येक कॉलम के डेटा प्रकार।
यह खंड दृश्य परिभाषाओं की अल्पविराम से अलग की गई सूची की अपेक्षा करता है, प्रत्येक एक या तो है
आपके डेटाबेस में मौजूदा दृश्य का नाम या निम्नलिखित अभिव्यक्ति:
नाम AS $$ एसक्यूएल सवाल $$
RSI नाम और एसक्यूएल सवाल में उपयोग किया जाएगा बनाएँ देखें की शुरुआत में बयान
डेटा लोड हो रहा है, और परिणामी दृश्य डेटा के अंत में छोड़ दिया जाएगा
लोड हो रहा है।
· अमल में लाना सब दृश्य
वैसा ही व्यवहार अमल में लाना दृश्य द्वारा लौटाए गए दृश्यों की गतिशील सूची का उपयोग करना
उपयोगकर्ता से सूची निर्दिष्ट करने के लिए कहने के बजाय MySQL।
· समेत केवल टेबल नाम मेल मिलाना
तालिका नामों की अल्पविराम से अलग की गई सूची प्रस्तुत करें नियमित अभिव्यक्ति सीमित करने के लिए उपयोग किया जाता है
उपसूची में माइग्रेट करने के लिए तालिकाएँ।
उदाहरण:
इसमें केवल मिलान करने वाले तालिका नाम शामिल हैं ~/फ़िल्म/, अभिनेता
· को छोड़कर टेबल नाम मेल मिलाना
तालिका नामों की अल्पविराम से अलग की गई सूची प्रस्तुत करें नियमित अभिव्यक्ति बहिष्कृत करने के लिए उपयोग किया जाता है
माइग्रेशन से तालिका नाम. यह फ़िल्टर केवल के परिणाम पर लागू होता है
समेत फिल्टर।
मिलान करने वाले तालिका नामों को छोड़कर ~
· डिकोडिंग टेबल नाम मेल मिलाना
तालिका नामों की अल्पविराम से अलग की गई सूची प्रस्तुत करें नियमित भाव जबरदस्ती करते थे
MySQL से डेटा संसाधित करते समय उपयोग की जाने वाली एन्कोडिंग। यदि डेटा एन्कोडिंग आपको ज्ञात है
इसके बारे में MySQL के विचार से अलग है, यह उपयोग करने का विकल्प है।
डिकोडिंग तालिका नाम मिलान ~/गड़बड़/, ~/एनकोडिंग/ एएस यूटीएफ8
आप जितने चाहें उतने नियमों का उपयोग कर सकते हैं, सभी संभवतः अलग-अलग एन्कोडिंग के साथ।
सीमाएं
RSI डेटाबेस कमांड वर्तमान में केवल MySQL स्रोत डेटाबेस का समर्थन करता है और इसमें निम्नलिखित हैं
सीमाएं:
· दृश्य माइग्रेट नहीं किए गए हैं,
सहायक विचारों के लिए MySQL बोली के लिए पूर्ण SQL पार्सर को लागू करने की आवश्यकता हो सकती है
नाम बदलने सहित, PostgreSQL के विरुद्ध SQL को फिर से लिखने के लिए एक पोर्टिंग इंजन के साथ
कार्य और कुछ निर्माणों को बदलना।
हालाँकि यह सैद्धांतिक रूप से असंभव नहीं है, लेकिन अपनी साँसें मत रोकें।
· ट्रिगर माइग्रेट नहीं किए गए हैं
ऐसा करने में कठिनाई का अभी तक आकलन नहीं किया गया है।
· ON अद्यतन CURRENT_TIMESTAMP वर्तमान में माइग्रेट नहीं किया गया है
इसे लागू करना काफी आसान है, अभी तक यह प्राथमिकता सूची में नहीं है।
· ज्यामितीय डेटाटाइप्स में से, केवल सूत्री डेटाबेस को कवर किया गया है. अन्य लोग
इसे अभी लागू करना काफी आसान होना चाहिए, यह अभी तक पूरा नहीं हुआ है।
चूक MySQL कास्टिंग नियम
MySQL से माइग्रेट करते समय निम्नलिखित कास्टिंग नियम प्रदान किए जाते हैं:
संख्या:
· सीरियल में अतिरिक्त ऑटो_इंक्रीमेंट के साथ int टाइप करें जब (< परिशुद्धता 10)
· जब (<= 10 परिशुद्धता) हो तो अतिरिक्त auto_increment के साथ int को bigserial में टाइप करें
· int से int टाइप करें जब (<परिशुद्धता 10)
· int से bigint टाइप करें जब (<= 10 परिशुद्धता)
· सीरियल में अतिरिक्त auto_increment के साथ tinyint टाइप करें
· सीरियल में अतिरिक्त auto_increment के साथ Smallint टाइप करें
· सीरियल में अतिरिक्त ऑटो_इंक्रीमेंट के साथ मीडियमइंट टाइप करें
· bigserial में अतिरिक्त auto_increment के साथ bigint टाइप करें
· टिनिंट-टू-बूलियन का उपयोग करते समय टिनिंट को बूलियन में टाइप करें (= 1 परिशुद्धता)।
· टाइप टिनिंट से स्मॉलिंट ड्रॉप टाइपमॉड
· Smallint से Smallint ड्रॉप टाइपमॉड टाइप करें
· पूर्णांक ड्रॉप टाइपमॉड में मीडियमइंट टाइप करें
· पूर्णांक से पूर्णांक टाइप करें टाइपमॉड छोड़ें
· फ्लोट से फ्लोट ड्रॉप टाइपमॉड टाइप करें
· बिगिंट से बिगिंट ड्रॉप टाइपमॉड टाइप करें
· डबल से डबल प्रिसिजन ड्रॉप टाइपमॉड टाइप करें
· संख्यात्मक से संख्यात्मक टाइप करें टाइपमॉड रखें
· दशमलव से दशमलव टाइप करें टाइपमॉड रखें
ग्रंथ:
· char से varchar टाइप करें, टाइपमॉड रखें
· टेक्स्ट में वर्चर टाइप करें
· टेक्स्ट में tinytext टाइप करें
· टेक्स्ट को टेक्स्ट टाइप करें
· टेक्स्ट में मीडियमटेक्स्ट टाइप करें
· टेक्स्ट में लॉन्गटेक्स्ट टाइप करें
बाइनरी:
· बाईटी को बाइनरी टाइप करें
· बाइट को वर्बिनरी टाइप करें
· बाईटी में टाइनीब्लॉब टाइप करें
· बाइट को ब्लॉब टाइप करें
· मीडियमब्लॉब से बाईटी टाइप करें
· बाइट को लॉन्गब्लॉब टाइप करें
दिनांक:
· डिफ़ॉल्ट होने पर डेटाटाइम टाइप करें "0000-00-00 00:00:00" और शून्य से टाइमस्टैम्पज़ ड्रॉप न करें
शून्य-दिनांक-से-शून्य का उपयोग करके शून्य ड्रॉप डिफ़ॉल्ट
· डिफ़ॉल्ट होने पर डेटाटाइम टाइप करें "0000-00-00 00:00:00" का उपयोग करके टाइमस्टैम्पट ड्रॉप डिफ़ॉल्ट
शून्य-दिनांक-से-शून्य
· डिफ़ॉल्ट होने पर टाइमस्टैम्प टाइप करें "0000-00-00 00:00:00" और शून्य से टाइमस्टैम्पज़ ड्रॉप न करें
शून्य-दिनांक-से-शून्य का उपयोग करके शून्य ड्रॉप डिफ़ॉल्ट
· डिफ़ॉल्ट होने पर टाइमस्टैम्प टाइप करें "0000-00-00 00:00:00" का उपयोग करके टाइमस्टैम्पज़ को डिफ़ॉल्ट रूप से ड्रॉप करें
शून्य-दिनांक-से-शून्य
· डिफ़ॉल्ट होने पर दिनांक टाइप करें "0000-00-00" शून्य-दिनांक-से-शून्य का उपयोग करके दिनांक ड्रॉप डिफ़ॉल्ट पर
· दिनांक दर दिनांक टाइप करें
· टाइमस्टैम्पज़ में datetime टाइप करें
· टाइमस्टैम्प को टाइमस्टैम्पज़ में टाइप करें
· वर्ष से पूर्णांक ड्रॉप टाइपमॉड टाइप करें
ज्यामितीय:
· pgloader.transforms::convert-mysql-point का उपयोग करके पॉइंट टू पॉइंट टाइप करें
Enum प्रकार को MySQL में इनलाइन और अलग से घोषित किया गया है बनाएँ TYPE में आज्ञा
PostgreSQL, इसलिए Enum प्रकार के प्रत्येक कॉलम को तालिका के नाम पर एक प्रकार में परिवर्तित किया जाता है
स्तंभ नाम समान क्रम में समान लेबल के साथ परिभाषित किए गए हैं।
जब स्रोत प्रकार की परिभाषा डिफ़ॉल्ट कास्टिंग नियमों से मेल नहीं खाती है और न ही
कमांड में दिए गए कास्टिंग नियम, फिर टाइपमॉड के साथ टाइप नाम का उपयोग किया जाता है।
भार SQLite डेटाबेस
यह कमांड pgloader को SQLite फ़ाइल से डेटा लोड करने का निर्देश देता है। की स्वचालित खोज
इंडेक्स के निर्माण सहित स्कीमा समर्थित है।
यहाँ एक उदाहरण है:
डेटाबेस लोड करें
sqlite:///Users/dim/Downloads/lastfm_tags.db से
Postgresql:///tags में
ड्रॉप शामिल करें, टेबल बनाएं, इंडेक्स बनाएं, अनुक्रम रीसेट करें
वर्क_मेम को ´16एमबी´ पर, मेंटेनेंस_वर्क_मेम को ´512 एमबी´ पर सेट करें;
RSI SQLite कमांड निम्नलिखित खंड और विकल्प स्वीकार करता है:
· से
SQLite फ़ाइल का पथ या HTTP URL, हो सकता है . ज़िप फ़ाइल.
· साथ में
ए से लोड करते समय SQLite डेटाबेस, निम्नलिखित विकल्प समर्थित हैं:
ए से लोड करते समय SQLite डेटाबेस, निम्नलिखित विकल्प समर्थित हैं, और
चूक साथ में उपवाक्य है: नहीं काट-छांट, बनाना टेबल, शामिल बूंद, बनाना अनुक्रमणिका,
रीसेट करें दृश्यों, डाउनकेस पहचानकर्ता, एन्कोडिंग ´utf-8´.
· शामिल बूंद
जब यह विकल्प सूचीबद्ध होता है, तो pgloader लक्ष्य PostgreSQL में सभी तालिकाओं को हटा देता है
डेटाबेस जिनके नाम SQLite डेटाबेस में दिखाई देते हैं। यह विकल्प इसका उपयोग करने की अनुमति देता है
जब तक आप सभी विकल्पों का पता नहीं लगा लेते, तब तक एक ही कमांड को लगातार कई बार शुरू करें
स्वच्छ वातावरण से स्वचालित रूप से। कृपया ध्यान दें कि झरना सुनिश्चित करने के लिए प्रयोग किया जाता है
तालिकाएँ हटा दी जाती हैं, भले ही उनकी ओर इशारा करने वाली विदेशी कुंजियाँ हों। यह है
बिल्कुल क्या शामिल बूंद ऐसा करने का इरादा है: सभी लक्ष्य तालिकाएँ छोड़ें और पुनः बनाएँ
उन्हें.
उपयोग करते समय बहुत सावधानी बरतनी पड़ती है शामिल बूंद, जैसे-जैसे यह झरना होगा सब
लक्ष्य तालिकाओं को संदर्भित करने वाली वस्तुएं, संभवतः अन्य तालिकाओं सहित जो नहीं हैं
स्रोत DB से लोड किया जा रहा है।
· शामिल नहीं बूंद
जब यह विकल्प सूचीबद्ध होता है, तो pgloader में कोई भी शामिल नहीं होगा ड्रॉप लोड करते समय कथन
आँकड़े।
· काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो pgloader जारी करता है TRUNCATE प्रत्येक के विरुद्ध आदेश
इसमें डेटा लोड करने से ठीक पहले PostgreSQL तालिका।
· नहीं काट-छांट
जब यह विकल्प सूचीबद्ध होता है, तो पीजीलोडर नंबर जारी करता है TRUNCATE आदेश।
· अक्षम करें चलाता है
जब यह विकल्प सूचीबद्ध होता है, तो pgloader एक जारी करता है बदलने टेबल ... अक्षम ट्रिगर सब
डेटा कॉपी करने से पहले PostgreSQL लक्ष्य तालिका के विरुद्ध कमांड, फिर कमांड
बदलने टेबल ... सक्षम ट्रिगर सब एक बार कॉपी पूरा हो गया है।
यह विकल्प डेटा को अनदेखा करके पहले से मौजूद तालिका में लोड करने की अनुमति देता है विदेशी कुंजी
की कमी और उपयोगकर्ता परिभाषित ट्रिगर्स और परिणाम अमान्य हो सकते हैं विदेशी कुंजी
की कमी एक बार डेटा लोड हो जाए। सावधानी से प्रयोग करें.
· बनाना टेबल
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इसमें पाए गए मेटा डेटा का उपयोग करके तालिका बनाता है
la SQLite फ़ाइल, जिसमें उनके डेटा प्रकार के साथ फ़ील्ड की एक सूची होनी चाहिए। स्टैन्डर्ड
DBF से PostgreSQL में डेटा प्रकार रूपांतरण किया जाता है।
· बनाना नहीं टेबल
जब यह विकल्प सूचीबद्ध होता है, तो pgloader डेटा भेजने से पहले तालिका का निर्माण छोड़ देता है,
लक्ष्य तालिकाएँ पहले से ही मौजूद होनी चाहिए।
· बनाना अनुक्रमणिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader को इसमें पाए जाने वाले सभी इंडेक्स की परिभाषाएँ मिलती हैं
SQLite डेटाबेस और उसके विरुद्ध अनुक्रमणिका परिभाषाओं का समान सेट बनाएँ
पोस्टग्रेएसक्यूएल डेटाबेस।
· बनाना नहीं अनुक्रमणिका
जब यह विकल्प सूचीबद्ध होता है, तो pgloader इंडेक्स बनाना छोड़ देता है।
· रीसेट करें दृश्यों
जब यह विकल्प सूचीबद्ध होता है, तो डेटा लोडिंग के अंत में और इंडेक्स के बाद
सभी बनाए गए, pgloader वर्तमान में बनाए गए सभी PostgreSQL अनुक्रमों को रीसेट करता है
जिस कॉलम से वे जुड़े हुए हैं उसका अधिकतम मूल्य।
· रीसेट करें नहीं दृश्यों
जब यह विकल्प सूचीबद्ध होता है, तो pgloader लोड के बाद अनुक्रम रीसेट करना छोड़ देता है।
विकल्प योजना केवल और तिथि केवल इस विकल्प पर कोई प्रभाव नहीं पड़ेगा.
· योजना केवल
जब यह विकल्प सूचीबद्ध होता है तो pgloader डेटा को स्थानांतरित करने से परहेज करेगा। टिप्पणी
इस संदर्भ में स्कीमा में विकल्प होने पर अनुक्रमित शामिल होते हैं बनाना अनुक्रमणिका
सूचीबद्ध किया गया है.
· तिथि केवल
जब यह विकल्प सूचीबद्ध होता है तो pgloader केवल जारी करता है कॉपी बयान, बिना कुछ किए
अन्य प्रसंस्करण.
· एन्कोडिंग
यह विकल्प यह नियंत्रित करने की अनुमति देता है कि SQLite टेक्स्ट डेटा को किस एन्कोडिंग से पार्स करना है।
यूटीएफ-8 पर डिफ़ॉल्ट।
· कास्ट
कास्ट क्लॉज कस्टम कास्टिंग नियमों को निर्दिष्ट करने की अनुमति देता है, या तो डिफ़ॉल्ट को ओवरलोड करने के लिए
कास्टिंग नियम या विशेष मामलों में उनमें संशोधन करना।
विवरण के लिए कृपया MySQL CAST क्लॉज देखें।
· समेत केवल टेबल नाम मेल मिलाना
तालिका नामों की अल्पविराम से अलग की गई सूची प्रस्तुत करें नियमित अभिव्यक्ति सीमित करने के लिए उपयोग किया जाता है
उपसूची में माइग्रेट करने के लिए तालिकाएँ।
उदाहरण:
इसमें केवल मिलान करने वाले तालिका नाम शामिल हैं ~/फ़िल्म/, अभिनेता
· को छोड़कर टेबल नाम मेल मिलाना
तालिका नामों की अल्पविराम से अलग की गई सूची प्रस्तुत करें नियमित अभिव्यक्ति बहिष्कृत करने के लिए उपयोग किया जाता है
माइग्रेशन से तालिका नाम. यह फ़िल्टर केवल के परिणाम पर लागू होता है
समेत फिल्टर।
मिलान करने वाले तालिका नामों को छोड़कर ~
चूक SQLite कास्टिंग नियम
SQLite से माइग्रेट करते समय निम्नलिखित कास्टिंग नियम प्रदान किए जाते हैं:
संख्या:
· tinyint से Smallint टाइप करें
· पूर्णांक को bigint में टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके फ्लोट टू फ्लोट टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके वास्तविक से वास्तविक टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके डबल से डबल प्रिसिजन टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके संख्यात्मक से संख्यात्मक टाइप करें
ग्रंथ:
· टेक्स्ट ड्रॉप टाइपमॉड में कैरेक्टर टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में वर्चर टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में nvarchar टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में चार टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में nchar टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में nvarchar टाइप करें
· टेक्स्ट ड्रॉप टाइपमोड में क्लॉब टाइप करें
बाइनरी:
· बाइट को ब्लॉब टाइप करें
दिनांक:
· sqlite-timestamp-to-timestamp का उपयोग करके datetime को timestamptz पर टाइप करें
· sqlite-timestamp-to-timestamp का उपयोग करके टाइमस्टैम्प को टाइमस्टैम्पज़ में टाइप करें
· sqlite-timestamp-to-timestamp का उपयोग करके टाइमस्टैम्पज़ को टाइमस्टैम्पज़ में टाइप करें
भार MS एसक्यूएल डेटाबेस
यह कमांड pgloader को MS SQL डेटाबेस से डेटा लोड करने का निर्देश देता है। स्वचालित खोज
स्कीमा का समर्थन किया जाता है, जिसमें इंडेक्स, प्राथमिक और विदेशी कुंजी का निर्माण शामिल है
बाधाओं।
यहाँ एक उदाहरण है:
डेटाबेस लोड करें
mssql://user@host/dbname से
Postgresql:///dbname में
स्कीमा ´dbo´ में केवल ´GlobalAccount´ जैसे तालिका नाम शामिल हैं
वर्क_मेम को ´16एमबी´ पर, मेंटेनेंस_वर्क_मेम को ´512 एमबी´ पर सेट करें
यदि डीबीओ कैस्केड मौजूद है तो लोड से पहले $$ ड्रॉप स्कीम करें; $$;
RSI mssql कमांड निम्नलिखित खंड और विकल्प स्वीकार करता है:
· से
मौजूदा MS SQL डेटाबेस सर्वर से कनेक्शन स्ट्रिंग जो सुनती है और स्वागत करती है
बाहरी टीसीपी/आईपी कनेक्शन। चूँकि pgloader वर्तमान में FreeTDS ड्राइवर पर निर्भर है
सर्वर का पोर्ट बदलें कृपया निर्यात करें टीडीएसपोर्ट वातावरण विविधता।
· साथ में
ए से लोड करते समय MS एसक्यूएल डेटाबेस, लोड करते समय वही विकल्प MySQL डेटाबेस
समर्थित हैं. कृपया MySQL अनुभाग देखें। निम्नलिखित विकल्प जोड़े गए हैं:
· बनाना स्कीमा
जब यह विकल्प सूचीबद्ध होता है, तो pgloader वही स्कीमा बनाता है जो MS SQL पर पाया जाता है
उदाहरण। यह डिफ़ॉल्ट है.
· बनाना नहीं स्कीमा
जब यह विकल्प सूचीबद्ध होता है, तो pgloader आपको कोई भी स्कीमा बनाने से रोकता है
फिर यह सुनिश्चित करना होगा कि लक्ष्य स्कीमा मौजूद है।
· कास्ट
कास्ट क्लॉज कस्टम कास्टिंग नियमों को निर्दिष्ट करने की अनुमति देता है, या तो डिफ़ॉल्ट को ओवरलोड करने के लिए
कास्टिंग नियम या विशेष मामलों में उनमें संशोधन करना।
विवरण के लिए कृपया MySQL CAST क्लॉज देखें।
· समेत केवल टेबल नाम तरह ´...´ [, ´...´] IN योजना ´...´
तालिकाओं को सीमित करने के लिए उपयोग की जाने वाली तालिका नाम पैटर्न की अल्पविराम से अलग की गई सूची का परिचय दें
किसी उपसूची में स्थानांतरित करें. ऐसे एक से अधिक खंडों का उपयोग किया जा सकता है, वे एकत्रित हो जायेंगे
एक साथ.
उदाहरण:
स्कीमा ´dbo´ में केवल तालिका नाम ´GlobalAccount´ शामिल करें
· को छोड़कर टेबल नाम तरह ´...´ [, ´...´] IN योजना ´...´
तालिका नामों को बाहर करने के लिए उपयोग की जाने वाली तालिका नाम पैटर्न की अल्पविराम से अलग की गई सूची का परिचय दें
प्रवास से. यह फ़िल्टर केवल के परिणाम पर लागू होता है समेत फिल्टर।
स्कीमा ´dbo´ में ´LocalAccount´ से मेल खाने वाले तालिका नामों को बाहर करना
चूक MS एसक्यूएल कास्टिंग नियम
MS SQL से माइग्रेट करते समय निम्नलिखित कास्टिंग नियम प्रदान किए जाते हैं:
संख्या:
· tinyint से Smallint टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके फ्लोट टू फ्लोट टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके वास्तविक से वास्तविक टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके डबल से डबल प्रिसिजन टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके संख्यात्मक से संख्यात्मक टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके दशमलव से संख्यात्मक टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके संख्यात्मक रूप से पैसे टाइप करें
· फ्लोट-टू-स्ट्रिंग का उपयोग करके न्यूमेरिक में स्मॉलमनी टाइप करें
ग्रंथ:
· टेक्स्ट ड्रॉप टाइपमॉड में चार टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड पर एनचैट टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में वर्चर टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में nvarchar टाइप करें
· टेक्स्ट ड्रॉप टाइपमॉड में xml टाइप करें
बाइनरी:
· बाइट-वेक्टर-टू-बाइटा का उपयोग करके बाइनरी को बाइट में टाइप करें
· बाइट-वेक्टर-टू-बाइटा का उपयोग करके वर्बिनरी टू बाइट टाइप करें
दिनांक:
· टाइमस्टैम्पज़ में datetime टाइप करें
· टाइमस्टैम्पज़ में datetime2 टाइप करें
अन्य:
· बूलियन में बिट टाइप करें
· पदानुक्रमित को बाइटया में टाइप करें
· बाइट को भूगोल टाइप करें
· sql-server-uniqueidentifier-to-uuid का उपयोग करके यूयूआईडी में यूनिकआइडेंटिफायर टाइप करें
परिवर्तन कार्य
कुछ डेटा प्रकारों को एक परिवर्तन कार्य के समान भिन्न तरीके से कार्यान्वित किया जाता है
आवश्यक है। इस फ़ंक्शन को अवश्य लिखा जाना चाहिए सामान्य तुतलाना और में खोजा जाता है
pgloader.परिवर्तन पैकेज.
कुछ डिफ़ॉल्ट परिवर्तन फ़ंक्शन pgloader के साथ प्रदान किए गए हैं, और आप इसका उपयोग कर सकते हैं
--भार अपनी स्वयं की लिस्प फ़ाइल को pgloader में लोड और संकलित करने के लिए कमांड लाइन विकल्प
रनटाइम. अपने कार्यों को ढूंढने के लिए, अपनी लिस्प फ़ाइल को इसके साथ प्रारंभ करना याद रखें
निम्नलिखित प्रपत्र:
(इन-पैकेज #:pgloader.transforms)
प्रदान किए गए परिवर्तन कार्य हैं:
· शून्य-दिनांक-से-शून्य
जब इनपुट तिथि सभी शून्य हो, तो वापस लौटें शून्य, जो PostgreSQL के रूप में लोड हो जाता है नल
मूल्य.
· दिनांक-बिना-विभाजक के
लागू होता है शून्य-दिनांक-से-शून्य फिर दी गई तारीख को PostgreSQL प्रारूप में बदलें
वास्तव में प्रक्रिया होगी:
में: "20041002152952"
Out: "2004-10-02 15:29:52"
· समय-बिना-विभाजक के
दिए गए समय को उस प्रारूप में बदलें जिसे PostgreSQL वास्तव में संसाधित करेगा:
में: "08231560"
आउट: "08:23:15.60"
· टिनिंट-टू-बूलियन
चूंकि MySQL में उचित बूलियन प्रकार का अभाव है, टिनिंट इसे लागू करने के लिए अक्सर इसका उपयोग किया जाता है। यह
फ़ंक्शन रूपांतरित होता है 0 सेवा मेरे असत्य और कुछ भी करने के लिए सत्य'।
· बिट्स-टू-बूलियन
चूंकि MySQL में उचित बूलियन प्रकार का अभाव है, BIT इसे लागू करने के लिए अक्सर इसका उपयोग किया जाता है। यह
फ़ंक्शन 1-बिट बिट वैक्टर को रूपांतरित करता है 0 सेवा मेरे f और कोई अन्य मूल्य t..
· इंट-टू-आईपी
एक पूर्णांक को IP4 के बिंदीदार निरूपण में बदलें।
इन: 18435761
आउट: "1.25.78.177"
· आईपी रेंज
स्ट्रिंग के रूप में दिए गए कुछ पूर्णांकों को IP4 की श्रेणी में परिवर्तित करता है।
में: "16825344" "16825599"
आउट: "1.0.188.0-1.0.188.255"
· कनवर्ट-mysql-बिंदु
से परिवर्तित होता है astext MySQL में PostgreSQL में बिंदुओं का प्रतिनिधित्व
प्रतिनिधित्व।
में: "बिंदु(48.5513589 7.6926827)"
आउट: "(48.5513589,7.6926827)"
· फ्लोट-टू-स्ट्रिंग
एक सामान्य लिस्प फ्लोट को PostgreSQL फ्लोट के लिए उपयुक्त स्ट्रिंग में परिवर्तित करता है:
में: 100.0d0
आउट: "100.0"
· सेट-टू-एनम-सरणी
MySQL SET का प्रतिनिधित्व करने वाली एक स्ट्रिंग को Enum मानों के PostgreSQL ऐरे में परिवर्तित करता है
सेट।
इन: "फू,बार"
बाहर: "{foo,bar}"
· खाली-स्ट्रिंग-से-शून्य
एक खाली स्ट्रिंग को शून्य में बदलें।
· राइट-ट्रिमग
स्ट्रिंग के अंत में रिक्त स्थान हटाएँ।
· बाइट-वेक्टर-टू-बाइट
अहस्ताक्षरित बाइट्स की एक सरल सरणी को PostgreSQL बाइट हेक्स प्रारूप में बदलें
दस्तावेज़ के रूप में प्रतिनिधित्व
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html
· एसक्लाइट-टाइमस्टैम्प-टू-टाइमस्टैम्प
SQLite प्रकार की प्रणाली काफी दिलचस्प है, इसलिए टाइमस्टैम्प बनाने के लिए यहां इसका सामना करें
PostgreSQL द्वारा अपेक्षित शाब्दिक। वह वर्ष को केवल 4 अंकों, 0 तारीखों पर कवर करता है
शून्य, और उचित दिनांक स्ट्रिंग।
· एसक्यूएल-सर्वर-यूनीकआइडेंटिफ़ायर-टू-यूयूआईडी
SQL सर्वर ड्राइवर को बाइट वेक्टर के रूप में अद्वितीय पहचानकर्ता प्रकार के लिए डेटा प्राप्त होता है
फिर प्रक्रिया के लिए PostgreSQL COPY इनपुट प्रारूप के लिए UUID स्ट्रिंग में कनवर्ट करने की आवश्यकता है।
· यूनिक्स-टाइमस्टैम्प-टू-टाइमस्टैम्पज़
एक यूनिक्स टाइमस्टैम्प (1970 की शुरुआत से बीते हुए सेकंड की संख्या) को एक में परिवर्तित करता है
उचित PostgreSQL टाइमस्टैम्प प्रारूप।
भार संदेश
यह कमांड अभी भी प्रयोगात्मक है और syslog का उपयोग करके यूडीपी के माध्यम से संदेश प्राप्त करने की अनुमति देता है
प्रारूप की तरह, और, नियम मिलान के आधार पर, डेटा स्ट्रीम के नामित भागों को लोड करता है
एक गंतव्य तालिका.
संदेश लोड करें
Syslog://localhost:10514/ से
जब अपाचे में rsyslog-msg से मेल खाता है
पंजीकरण टाइमस्टैम्प, आईपी, बाकी
पोस्टग्रैस्कल में: // लोकलहोस्ट/डीबी? लॉग.अपाचे
सेट guc_1 = ´मूल्य´, guc_2 = `अन्य मूल्य´
जब rsyslog-msg दूसरों से मेल खाता है
टाइमस्टैम्प, ऐप-नाम, डेटा पंजीकृत करना
पोस्टग्रैस्कल में: // लोकलहोस्ट/डीबी? लॉग्स। अन्य
सेट guc_1 = ´मूल्य´, guc_2 = `अन्य मूल्य´
अपाचे के साथ = rsyslog
डेटा = आईपी रेस्ट
आईपी = 1*3 अंक "।" 1*3अंकीय "।"1*3अंकीय "।"1*3अंकीय
आराम = ~ /।*/
दूसरों के साथ = rsyslog;
चूंकि कमांड अभी भी प्रयोगात्मक है इसलिए भविष्य में विकल्प बदले जा सकते हैं
विवरण प्रलेखित नहीं हैं.
onworks.net सेवाओं का उपयोग करके ऑनलाइन pgloader का उपयोग करें