এটি হল কমান্ড pgloader যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
pgloader - PostgreSQL ডেটা লোডার
সাইনোপিসিস
pgloader [ ] [ ]...
pgloader [ ] উৎস লক্ষ্য
বর্ণনাঃ
pgloader বিভিন্ন উৎস থেকে PostgreSQL এ ডেটা লোড করে। এটি ডেটাকে রূপান্তর করতে পারে
ফ্লাইতে পড়ে এবং লোড করার আগে এবং পরে কাঁচা SQL জমা দিন। এটি ব্যবহার করে অনুলিপি
পোস্টগ্রেএসকিউএল প্রোটোকল সার্ভারে ডেটা স্ট্রিম করতে, এবং একটি পূরণ করে ত্রুটি পরিচালনা করে
জোড় reject.dat এবং reject.log ফাইল।
pgloader হয় ফাইল থেকে পড়া কমান্ড ব্যবহার করে পরিচালনা করে:
pgloader commands.load
বা কমান্ড লাইনে দেওয়া আর্গুমেন্ট এবং বিকল্পগুলি ব্যবহার করে:
পিগ্লোডার সোর্স টার্গেট
যুক্তি
pgloader আর্গুমেন্ট প্রয়োজন হিসাবে অনেক ফাইল লোড হতে পারে, বা সংযোগ একটি জোড়া হতে পারে
একটি নির্দিষ্ট ইনপুট ফাইলের স্ট্রিং।
উৎস সংযোগ STRING এর
উৎস সংযোগ স্ট্রিং বিন্যাস নিম্নরূপ:
বিন্যাস:///absolute/path/to/file.ext
ফরম্যাট://./relative/path/to/file.ext
যেখানে বিন্যাস এক হতে পারে CSV, স্থায়ী, কপি, dbf, db3 or ixf.
db://user:pass@host:port/dbname
যেখানে db হতে পারে স্ক্লাইট, মাইএসকিউএল or mssql.
একটি ফাইল ভিত্তিক সোর্স ফরম্যাট ব্যবহার করার সময়, pgloader নেটিভভাবে ফাইল আনয়ন সমর্থন করে
একটি http অবস্থান থেকে এবং প্রয়োজন হলে একটি সংরক্ষণাগার ডিকম্প্রেস করা। সে ক্ষেত্রে এটি প্রয়োজনীয়
ব্যবহার করতে --টাইপ ফাইলের প্রত্যাশিত বিন্যাস নির্দিষ্ট করার বিকল্প। উদাহরণ দেখুন
নিচে.
এছাড়াও মনে রাখবেন যে কিছু ফাইল ফরম্যাটের জন্য কিছু বাস্তবায়ন বিবরণ বর্ণনা করা প্রয়োজন যেমন
csv থেকে লোড করার সময় কলাম পড়তে হবে এবং বিভেদক এবং উদ্ধৃতি।
আরও জটিল লোডিং পরিস্থিতির জন্য, আপনাকে একটি সম্পূর্ণ লোড কমান্ড লিখতে হবে
এই নথিতে পরে বর্ণিত সিনট্যাক্স।
এ TARGET সংযোগ STRING এর
টার্গেট কানেকশন স্ট্রিং ফরম্যাট এই ডকুমেন্টে পরে বিস্তারিতভাবে বর্ণনা করা হয়েছে, দেখুন
বিভাগ সংযোগ স্ট্রিং.
বিকল্প
তদন্ত বিকল্প
আপনি কিভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে চাইলে এই বিকল্পগুলি ব্যবহার করুন pgloader, ঐ বিকল্প হিসাবে
কারণ হবে pgloader কোনো ডাটা লোড না করার জন্য।
-h, --help
কমান্ড ব্যবহারের সারাংশ দেখান এবং প্রস্থান করুন।
-V, --সংস্করণ
pgloader সংস্করণ স্ট্রিং দেখান এবং প্রস্থান করুন।
-E, --তালিকা-এনকোডিং
pgloader-এর এই সংস্করণে পরিচিত এনকোডিংগুলির তালিকা করুন।
-U, --আপগ্রেড-কনফিগ
কমান্ড লাইনে প্রদত্ত ফাইলগুলিকে পার্স করুন pgloader.conf সঙ্গে ফাইল আইএনআই বাক্য গঠন
যেটি pgloader সংস্করণ 2.x-এ ব্যবহৃত ছিল এবং এর জন্য নতুন কমান্ড সিনট্যাক্স আউটপুট করে
স্ট্যান্ডার্ড আউটপুটে pgloader.
সাধারণ বিকল্প
সেই বিকল্পগুলিকে খামচি করার জন্য বোঝানো হয় pgloader ডেটা লোড করার সময় আচরণ।
-v, -- ভারবোস
শব্দগুচ্ছ হও।
-q, -- শান্ত
শান্ত হও.
-d, --ডিবাগ
ডিবাগ স্তরের তথ্য বার্তা দেখান।
-D, --root-dir
রুট ওয়ার্কিং ডিরেক্টরি সেট করুন (ডিফল্ট "/tmp/pgloader")।
-L, --লগ ফাইল
pgloader লগ ফাইল সেট করুন (ডিফল্ট "/tmp/pgloader.log")।
--লগ-মিন-বার্তা
লগ ফাইলে এটি তৈরি করার জন্য লগ বার্তার জন্য ন্যূনতম স্তরের verbosity প্রয়োজন৷ অন্যতম
সমালোচনামূলক, লগ, ত্রুটি, সতর্কতা, বিজ্ঞপ্তি, তথ্য বা ডিবাগ।
--ক্লায়েন্ট-মিন-মেসেজ
লগ মেসেজ কনসোলে পৌঁছানোর জন্য ন্যূনতম মাত্রার ভারবোসিটি প্রয়োজন। অন্যতম
সমালোচনামূলক, লগ, ত্রুটি, সতর্কতা, বিজ্ঞপ্তি, তথ্য বা ডিবাগ।
-S, --সারসংক্ষেপ
একটি ফাইলের নাম যেখানে সারাংশ আউটপুট কপি করতে হবে। যখন আপেক্ষিক, ফাইলের নাম হয়
মধ্যে প্রসারিত *মূল-দির*.
ফাইলের নামের বিন্যাস হচ্ছে ডিফল্ট মানবীয় সুপাঠ্য. থাকা সম্ভব
যেমন মেশিন বন্ধুত্বপূর্ণ বিন্যাসে আউটপুট CSV তে, অনুলিপি (PostgreSQL এর নিজস্ব কপি
বিন্যাস) বা তাদেরকে JSON এক্সটেনশন resp সহ একটি ফাইলের নাম উল্লেখ করে। .csv, .কপি or
.জসন.
-l , --লোড-লিস্প-ফাইল
একটি লিস্প নির্দিষ্ট করুন ফাইল পড়ার আগে কম্পাইল এবং pgloader ইমেজে লোড করতে
কমান্ড, অতিরিক্ত রূপান্তর ফাংশন সংজ্ঞায়িত করার অনুমতি দেয়। যারা ফাংশন উচিত
মধ্যে সংজ্ঞায়িত করা pgloader.transforms প্যাকেজ এই বিকল্পটি এর চেয়ে বেশি প্রদর্শিত হতে পারে
একবার কমান্ড লাইনে।
--স্ব-আপগ্রেড :
একটি নির্দিষ্ট করুন ডিরেক্টরি যেখানে pgloader সোর্স খুঁজে বের করতে হবে যাতে খুব প্রথম একটি
এটি যা করে তা হল গতিশীলভাবে লোডিং-ইন (এবং মেশিন কোডে কম্পাইল করা) অন্য
নিজের সংস্করণ, সাধারণত সাম্প্রতিক গিট চেকআউটের মতো একটি নতুন সংস্করণ।
কমান্ড লাইন কেবল অপারেশনস
এই বিকল্পগুলি ব্যবহার করার সময় ব্যবহার করার জন্য বোঝানো হয় pgloader শুধুমাত্র কমান্ড লাইন থেকে, বরং
একটি কমান্ড ফাইল এবং সমৃদ্ধ কমান্ড ক্লজ এবং পার্সার ব্যবহার করার চেয়ে। সাধারণ ক্ষেত্রে, এটি করতে পারে
ব্যবহার করা অনেক সহজ হবে উৎস এবং এ TARGET সরাসরি কমান্ড লাইনে, তারপর টুইক করুন
এই বিকল্পগুলির সাথে লোড হচ্ছে:
· --সঙ্গে "বিকল্প":
কমান্ড লাইন থেকে অপশন সেট করার অনুমতি দেয়। আপনি যতবার সেই বিকল্পটি ব্যবহার করতে পারেন
তুমি চাও. বিকল্প আর্গুমেন্ট অনুসরণ করা আবশ্যক সঙ্গে এর উৎস ধরনের জন্য ধারা
উৎস স্পেসিফিকেশন, এই নথিতে পরে বর্ণিত হিসাবে।
· --সেট "guc_name='value'"
কমান্ড লাইন থেকে PostgreSQL কনফিগারেশন সেট করার অনুমতি দেয়। নোট করুন যে বিকল্প
পার্সিং যখন থেকে ব্যবহার করা হয় তখন একই সেট কমান্ড ক্লজ, বিশেষ করে আপনাকে অবশ্যই করতে হবে
একক-উদ্ধৃতি দিয়ে গুক মান আবদ্ধ করুন।
· --ক্ষেত্র "..."
একটি উৎস ক্ষেত্রের সংজ্ঞা সেট করার অনুমতি দেয়। ক্ষেত্র প্রদত্ত আদেশে জমা হয়
কমান্ড লাইন। এটি একটি ব্যবহার করা সম্ভব --ক্ষেত্র উৎসে ক্ষেত্র প্রতি বিকল্প
ফাইল, অথবা একটি কমা দ্বারা ক্ষেত্রের সংজ্ঞা পৃথক করতে, যেমন আপনি করতে পারেন উপস্থাপন করে আমরা সহজেই
ফিল্ডস দফা।
· --কাস্ট "..."
ডেটা লোড করার জন্য একটি নির্দিষ্ট কাস্টিং নিয়ম সেট করার অনুমতি দেয়।
· --টাইপ csv|fixed|db3|ixf|sqlite|mysql|mssql
উত্স প্রকার জোরপূর্বক অনুমতি দেয়, ক্ষেত্রে যখন উৎস পার্সিং সন্তোষজনক নয়।
· --এনকোডিং
থেকে ডেটা লোড করতে উৎস ফাইলের এনকোডিং সেট করুন।
· --আগে
SQL কোয়েরির জন্য প্রদত্ত ফাইলের নাম পার্স করুন এবং আগে টার্গেট ডাটাবেসের বিরুদ্ধে চালান
উৎস থেকে ডেটা লোড হচ্ছে। প্রশ্নগুলি pgloader দ্বারা পার্স করা হয়: তাদের প্রয়োজন
একটি সেমি-কোলন (;) দ্বারা সমাপ্ত করা এবং ফাইল অন্তর্ভুক্ত হতে পারে \i or \ir আদেশ দেয়
অন্তর্ভুক্ত করা অন্য ফাইল।
· --পরে
এসকিউএল কোয়েরির জন্য প্রদত্ত ফাইলের নাম পার্স করুন এবং এর পরে টার্গেট ডাটাবেসের বিরুদ্ধে চালান
উৎস থেকে তথ্য লোড হচ্ছে. প্রশ্নগুলি একইভাবে পার্স করা হয়েছে যেমনটি
দ্য --আগে বিকল্প, উপরে দেখুন।
আরও ডিবগ তথ্য
ডিবাগ তথ্য সর্বাধিক পরিমাণ পেতে, আপনি উভয় ব্যবহার করতে পারেন -- ভারবোস এবং শীর্ষ XNUMX গ্লোবাল HR এক্সিলেন্স অ্যাওয়ার্ডের
--ডিবাগ একই সময়ে সুইচ করে, যা বলার সমতুল্য --ক্লায়েন্ট-মিন-মেসেজ
উপাত্ত. তারপর লগ বার্তাগুলি দেখাবে যে ডেটা প্রক্রিয়া করা হচ্ছে, সেই ক্ষেত্রে যেখানে
কোড এর জন্য স্পষ্ট সমর্থন আছে।
, USAGE উদাহরণ
কমান্ড লাইন বিকল্প এবং pgloader এর সংস্করণ পর্যালোচনা করুন:
pgloader -- help
pgloader -- সংস্করণ
বোঝাই থেকে a জটিল হুকুম
কমান্ড ফাইলটিকে pgloader কমান্ড আর্গুমেন্ট হিসাবে ব্যবহার করুন, pgloader সেই ফাইলটিকে পার্স করবে এবং
এতে পাওয়া কমান্ডগুলি চালান:
pgloader --verbose ./test/csv-districts.load
CSV তে
একটি CSV ফাইল থেকে ডেটা লোড করুন আপনার ডাটাবেসের একটি প্রাক-বিদ্যমান টেবিলে:
pgloader -- type csv \
--ক্ষেত্র আইডি --ক্ষেত্র ক্ষেত্র \
-- ছেঁটে দিয়ে \
--সহ "ক্ষেত্রগুলি ´,´" দ্বারা সমাপ্ত হয়েছে
./test/data/matching-1.csv \
postgres:///pgloader?tablename=matching
সেই উদাহরণে প্রয়োজনকে বাইপাস করে পুরো লোডিং কমান্ড লাইন থেকে চালিত হয়
সম্পূর্ণভাবে pgloader কমান্ড সিনট্যাক্সে একটি কমান্ড লেখা। যদিও কোন আদেশ নেই,
প্রয়োজনীয় অতিরিক্ত তথ্য কমান্ড লাইন ব্যবহার করে প্রদান করা আবশ্যক --টাইপ এবং
--ক্ষেত্র এবং --সঙ্গে সুইচ।
এর জন্য উপলব্ধ সিনট্যাক্স সম্পর্কে ডকুমেন্টেশনের জন্য --ক্ষেত্র এবং --সঙ্গে সুইচ, দয়া করে
ম্যান পৃষ্ঠায় পরে CSV বিভাগে পড়ুন।
এছাড়াও নোট করুন যে PostgreSQL URI টার্গেট অন্তর্ভুক্ত করে টেবিলের নাম.
পড়া থেকে STDIN
ফাইল ভিত্তিক পিগ্লোডার উত্সগুলি নিম্নলিখিত হিসাবে স্ট্যান্ডার্ড ইনপুট থেকে লোড করা যেতে পারে
উদাহরণস্বরূপ:
pgloader -- type csv \
--field "usps,geoid,aland,water,aland_sqmi,water_sqmi,intptlat,intptlong" \
--এর সাথে "স্কিপ হেডার = 1" \
--সহ "ক্ষেত্রগুলি ´\t´ দ্বারা সমাপ্ত হয়েছে" \
-\
postgresql:///pgloader?districts_longlat \
< test/data/2013_Gaz_113CDs_national.txt
ড্যাশ (-) উৎস হিসেবে অক্ষর বোঝাতে ব্যবহৃত হয় মান ইনপুট, ইউনিক্সে যথারীতি
কমান্ড লাইন। এই কৌশলটি দিয়ে পিগ্লোডারে সংকুচিত সামগ্রী স্ট্রিম করা সম্ভব,
ইউনিক্স পাইপ ব্যবহার করে:
gunzip -c source.gz | pgloader --type csv... - pgsql:///target?foo
বোঝাই থেকে CSV তে সহজলভ্য দ্বারা HTTP- র
CSV ফাইলটি a-তে পাওয়া গেলে ঠিক উপরের মতো একই কমান্ড চালানো যেতে পারে
দূরবর্তী HTTP অবস্থান:
pgloader -- type csv \
--field "usps,geoid,aland,water,aland_sqmi,water_sqmi,intptlat,intptlong" \
--এর সাথে "স্কিপ হেডার = 1" \
--সহ "ক্ষেত্রগুলি ´\t´ দ্বারা সমাপ্ত হয়েছে" \
http://pgsql.tapoueh.org/temp/2013_Gaz_113CDs_national.txt \
postgresql:///pgloader?districts_longlat
সেক্ষেত্রে আরও কিছু অপশন ব্যবহার করতে হবে, কারণ ফাইলটিতে এক-লাইন হেডার রয়েছে
(সাধারণত এটি কলামের নাম, একটি কপিরাইট বিজ্ঞপ্তি হতে পারে)। এছাড়াও, যে ক্ষেত্রে, আমরা
সমস্ত ক্ষেত্রগুলিকে এককভাবে নির্দিষ্ট করুন --ক্ষেত্র বিকল্প যুক্তি।
আবার, PostgreSQL টার্গেট কানেকশন স্ট্রিং-এ অবশ্যই থাকতে হবে টেবিলের নাম বিকল্প এবং আপনি
লক্ষ্য সারণীটি বিদ্যমান এবং ডেটার সাথে মানানসই হতে পারে তা নিশ্চিত করতে হবে। এখানে এসকিউএল কমান্ড
আপনি নিজে চেষ্টা করতে চাইলে সেই উদাহরণে ব্যবহৃত হয়:
টেবিল জেলাগুলি_লংলাট তৈরি করুন
(
ইউএসপিএস টেক্সট,
জিওড টেক্সট,
আল্যান্ড বিগিন্ট,
জল বিগন্ট,
aland_sqmi দ্বিগুণ নির্ভুলতা,
water_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 \
| gunzip -c \
| pgloader -- type csv \
--ক্ষেত্র "usps,geoid,aland,water,aland_sqmi,water_sqmi,intptlat,intptlong"
--এর সাথে "স্কিপ হেডার = 1" \
--সহ "ক্ষেত্রগুলি ´\t´ দ্বারা সমাপ্ত হয়েছে" \
-\
postgresql:///pgloader?districts_longlat
এখন ওএস নেটওয়ার্ক এবং এর মধ্যে স্ট্রিমিং এবং বাফারিংয়ের যত্ন নেবে
কমান্ড এবং পিগ্লোডার পোস্টগ্রেএসকিউএল-এ ডাটা স্ট্রিম করার যত্ন নেবে।
হিজরত থেকে SQLite
নিম্নলিখিত কমান্ড SQLite ডাটাবেস খুলবে, এর টেবিলের সংজ্ঞা আবিষ্কার করবে
সূচী এবং বিদেশী কী সহ, সেই সংজ্ঞাগুলি স্থানান্তরিত করুন যখন ঢালাই ডেটা টাইপ
তাদের PostgreSQL সমতুল্য স্পেসিফিকেশন এবং তারপরে ডেটা স্থানান্তর করুন:
createb newdb
pgloader ./test/sqlite/sqlite.db postgresql:///newdb
হিজরত থেকে মাইএসকিউএল
শুধু একটি ডাটাবেস তৈরি করুন যেখানে MySQL ডেটা এবং সংজ্ঞা হোস্ট করতে হবে এবং pgloader করতে হবে
একটি একক কমান্ড লাইনে আপনার জন্য মাইগ্রেশন:
createb pagila
pgloader mysql://user@localhost/sakila postgresql:///pagila
আনছে an সংরক্ষণাগার DBF ফাইল থেকে a HTTP- র দূরবর্তী অবস্থান
পিগ্লোডারের পক্ষে HTTP থেকে একটি ফাইল ডাউনলোড করা, এটিকে আনআর্কাইভ করা এবং শুধুমাত্র তখনই খোলা সম্ভব
এটি স্কিমা আবিষ্কার করতে তারপর ডেটা লোড করুন:
তৈরিb foo
pgloader -- টাইপ dbf http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/historiq2013.zip postgresql:///foo
এখানে পিগ্লোডারের পক্ষে এটি যে ধরণের ডেটা উত্স দেওয়া হচ্ছে তা অনুমান করা সম্ভব নয়, তাই
এটা ব্যবহার করা প্রয়োজন --টাইপ কমান্ড লাইন সুইচ।
ব্যাচ এবং পুনরায় চেষ্টা করা আচরণ
PostgreSQL এ ডেটা লোড করতে, pgloader ব্যবহার করে অনুলিপি স্ট্রিমিং প্রোটোকল। এই যখন
ডেটা লোড করার দ্রুত উপায়, অনুলিপি একটি গুরুত্বপূর্ণ অপূর্ণতা রয়েছে: যত তাড়াতাড়ি PostgreSQL একটি নির্গত করে
এতে যেকোন বিট ডাটা পাঠানোর সাথে ত্রুটি, সমস্যা যাই হোক না কেন, পুরো ডেটা সেট
PostgreSQL দ্বারা প্রত্যাখ্যাত।
এটির চারপাশে কাজ করার জন্য, pgloader ডেটা কেটে দেয় ব্যাচ 25000 সারি প্রতিটি, যাতে যখন
একটি সমস্যা দেখা দেয় এটি শুধুমাত্র ডেটার অনেক সারিকে প্রভাবিত করে। প্রতিটি ব্যাচ স্মৃতিতে রাখা হয়
যখন অনুলিপি স্ট্রিমিং ঘটে, ত্রুটিগুলি পরিচালনা করতে সক্ষম হওয়ার জন্য কিছু ঘটতে হবে।
যখন PostgreSQL পুরো ব্যাচ প্রত্যাখ্যান করে, তখন pgloader ত্রুটি বার্তাটি লগ করে তারপর বিচ্ছিন্ন করে
ছোট ব্যাচে ব্যাচ করা সারিগুলি পুনরায় চেষ্টা করে গৃহীতদের থেকে খারাপ সারি(গুলি)। করতে
যে, pgloader পার্স প্রেক্ষাপট ব্যর্থ কপি থেকে ত্রুটি বার্তা, বার্তা হিসাবে
নীচের মত ব্যাচে ত্রুটি পাওয়া গেছে যেখানে লাইন নম্বর রয়েছে
উদাহরণস্বরূপ:
প্রসঙ্গ: কপি ত্রুটি, লাইন 3, কলাম b: "2006-13-11"
সেই তথ্য ব্যবহার করে, pgloader ব্যাচের সমস্ত সারি ভুলের আগে পুনরায় লোড করবে
একটি, প্রত্যাখ্যান হিসাবে ভ্রান্তটিকে লগ করুন, তারপর ব্যাচের অবশিষ্ট অংশটি একটি এ লোড করার চেষ্টা করুন
একক প্রচেষ্টা, যাতে অন্য ভুল তথ্য থাকতে পারে বা নাও থাকতে পারে।
প্রত্যাখ্যাত সারি ধারণকারী একটি লোড শেষে, আপনি দুটি ফাইল পাবেন root-dir
অবস্থান, আপনার সেটআপের টার্গেট ডাটাবেসের মতো একটি ডিরেক্টরির অধীনে। দ্য
ফাইলের নাম টার্গেট টেবিল, এবং তাদের এক্সটেনশন হয় .ড্যাট প্রত্যাখ্যাত তথ্যের জন্য এবং
.লগ প্রত্যাখ্যাত ডেটা সম্পর্কে সম্পূর্ণ PostgreSQL ক্লায়েন্ট সাইড লগ ধারণকারী ফাইলের জন্য।
সার্জারির .ড্যাট ফাইলটি PostgreSQL-এ নথিভুক্ত টেক্সট কপি ফরম্যাটে ফর্ম্যাট করা হয়েছে
http://www.postgresql.org/docs/9.2/static/sql-copy.html#AEN66609।
A বিঃদ্রঃ সম্বন্ধে কর্মক্ষমতা
pgloader তৈরি করা হয়েছে পারফরম্যান্সের কথা মাথায় রেখে, যাতে সামলে নিতে পারে
PostgreSQL-এ প্রচুর পরিমাণে ডেটা লোড করার জন্য ক্রমবর্ধমান চাহিদা।
এটি ব্যবহার করে মৌলিক আর্কিটেকচার হল পুরানো ইউনিক্স পাইপ মডেল, যেখানে একটি থ্রেড দায়ী
ডেটা লোড করার জন্য (একটি CSV ফাইল পড়া, MySQL জিজ্ঞাসা করা ইত্যাদি) এবং পূর্ব-প্রক্রিয়াকৃত পূরণ
একটি সারিতে তথ্য. সারি থেকে আরেকটি থ্রেড ফিড, আরো কিছু প্রয়োগ করুন রূপান্তরের
ইনপুট ডেটাতে যান এবং কপি প্রোটোকল ব্যবহার করে পোস্টগ্রেএসকিউএল-এ শেষ ফলাফল স্ট্রিম করুন।
যখন একটি ফাইল দেওয়া হয় যে PostgreSQL অনুলিপি কমান্ড জানে কিভাবে পার্স করতে হয়, এবং যদি ফাইল
কোন ভুল তথ্য ধারণ করে না, তাহলে pgloader কখনই শুধু ব্যবহার করার মত দ্রুত হবে না
পোস্টগ্রি অনুলিপি কমান্ড।
নোট করুন যে সময় অনুলিপি কমান্ডটি তার স্ট্যান্ডার্ড ইনপুট বা থেকে পড়তে সীমাবদ্ধ
সার্ভারের ফাইল সিস্টেমের একটি স্থানীয় ফাইল থেকে, কমান্ড লাইন টুল psql প্রয়োগ a
\ কপি কমান্ড যা জানে কিভাবে নেটওয়ার্কের মাধ্যমে ক্লায়েন্টের কাছে একটি ফাইল স্থানীয়ভাবে স্ট্রিম করতে হয় এবং
পোস্টগ্রেএসকিউএল সার্ভারে, pgloader ব্যবহার করে একই প্রোটোকল ব্যবহার করে।
উৎস ফরম্যাট
pgloader নিম্নলিখিত ইনপুট বিন্যাস সমর্থন করে:
· csv, যার মধ্যে রয়েছে tsv এবং অন্যান্য সাধারণ ভেরিয়েন্ট যেখানে আপনি পরিবর্তন করতে পারেন
বিভাজক এবং শীর্ষ XNUMX গ্লোবাল HR এক্সিলেন্স অ্যাওয়ার্ডের মূল্য উদ্ধৃতি নিয়ম এবং কিভাবে অব্যাহতি দ্য কোট নিজেদের;
· ফিক্সড কলাম ফাইল, যেখানে পিগ্লোডার সোর্স ফাইলের সাথে সামঞ্জস্য করার জন্য যথেষ্ট নমনীয়
অনুপস্থিত কলাম (র্যাগড স্থায়ী লম্বা স্তম্ভ নথি পত্র উপস্থিত থাকা);
· PostgreSLQ কপি ফরম্যাট করা ফাইল, PostgreSQL এর কপি TEXT ডকুমেন্টেশন অনুসরণ করে,
যেমন pgloader দ্বারা প্রস্তুত ফাইল প্রত্যাখ্যান;
· dbase ফাইলগুলি db3 বা dbf ফাইল নামে পরিচিত;
· ixf ফরমেটেড ফাইল, ixf আইবিএম থেকে একটি বাইনারি স্টোরেজ ফরম্যাট;
· স্কিমা এবং উন্নত কাস্ট নিয়মগুলির সম্পূর্ণ স্বয়ংক্রিয় আবিষ্কার সহ sqlite ডেটাবেস;
· স্কিমা এবং উন্নত কাস্ট নিয়মগুলির সম্পূর্ণ স্বয়ংক্রিয় আবিষ্কার সহ mysql ডাটাবেস;
· স্কিমা এবং উন্নত কাস্ট নিয়মগুলির সম্পূর্ণ স্বয়ংক্রিয় আবিষ্কার সহ MS SQL ডাটাবেস।
পিজিলোডার কম্যান্ডস বাক্য গঠন
pgloader জটিল ডেটা লোডিং সেটআপ করার অনুমতি দিয়ে একটি ডোমেন নির্দিষ্ট ভাষা প্রয়োগ করে
কম্পিউটেড কলাম পরিচালনার স্ক্রিপ্ট এবং ইনপুট ডেটার অন-দ্য-ফ্লাই স্যানিটাইজেশন। আরো বেশী
জটিল ডেটা লোডিং পরিস্থিতিতে, আপনাকে ডিএসএল-এর সিনট্যাক্স শিখতে হবে। এটা
এসকিউএল দ্বারা অনুপ্রাণিত হয়ে DBA এর সাথে পরিচিত দেখাতে বোঝানো হয়েছে যেখানে এটি বোঝা যায়, যা নয়
সব পরে যে অনেক.
pgloader কমান্ড একই বিশ্বব্যাপী ব্যাকরণের নিয়ম অনুসরণ করে। তাদের প্রত্যেকে সমর্থন করতে পারে
সাধারণ বিকল্পগুলির শুধুমাত্র একটি উপসেট এবং নির্দিষ্ট বিকল্পগুলি প্রদান করে।
বোঝা
থেকে [ মাঠ আছে ]
INTO [ লক্ষ্য কলাম ]
[ সঙ্গে ]
[ সেট ]
[ লোড করার আগে [ করবেন | এক্সিকিউট ] ... ]
[ লোড করার পর [ করবেন | এক্সিকিউট ] ... ]
;
প্রধান ধারাগুলো হল বোঝা, থেকে, এমনটা এবং সঙ্গে প্রতিটি কমান্ড প্রয়োগ করে এমন ধারা।
কিছু কমান্ড তারপর বাস্তবায়ন সেট কমান্ড, বা কিছু নির্দিষ্ট ধারা যেমন CAST
দফা।
সাধারণ ধারা
কিছু ধারা সব কমান্ডের জন্য সাধারণ:
· থেকে
সার্জারির থেকে clause কোথা থেকে ডেটা পড়তে হবে তা নির্দিষ্ট করে এবং প্রতিটি কমান্ড তার পরিচয় দেয়
উৎসের নিজস্ব বৈকল্পিক। উদাহরণস্বরূপ, CSV তে উত্স সমর্থন করে সঙ্গতিপূর্ণভাবে, stdin, একটি
ফাইলের নাম, একটি উদ্ধৃত ফাইলের নাম এবং একটি ফাইল ফাইল ম্যাচিং ধারা (উপরে দেখুন); যেহেতু
মাইএসকিউএল উৎস শুধুমাত্র একটি MySQL ডাটাবেস URI স্পেসিফিকেশন সমর্থন করে।
সব ক্ষেত্রে, থেকে clause একটি পরিবেশ পরিবর্তনশীল থেকে এর মান পড়তে সক্ষম
ফর্ম ব্যবহার করার সময় GETENV 'বর্ণনাম'.
· এমনটা
PostgreSQL সংযোগ URI-তে অবশ্যই লক্ষ্য টেবিলের নাম থাকবে যেখানে লোড করতে হবে
মধ্যে তথ্য. সেই টেবিলটি অবশ্যই PostgreSQL এবং নামটিতে ইতিমধ্যেই তৈরি করা হয়েছে
স্কিমা যোগ্য হতে পারে।
সার্জারির এমনটা টার্গেট ডাটাবেস সংযোগ URI একটি পরিবেশের মান থেকে পার্স করা যেতে পারে
ফর্ম ব্যবহার করার সময় পরিবর্তনশীল GETENV 'বর্ণনাম'.
তারপর এমনটা বিকল্পটি লক্ষ্য কলামগুলির একটি ঐচ্ছিক কমা দ্বারা পৃথক করা তালিকাকেও সমর্থন করে,
যা হয় একটি ইনপুটের নাম ক্ষেত্র অথবা সাদা স্থান বিভক্ত তালিকা
টার্গেট কলামের নাম, এর PostgreSQL ডেটা টাইপ এবং a ব্যবহার অভিব্যক্তি।
সার্জারির ব্যবহার অভিব্যক্তি যেকোনো বৈধ কমন লিস্প ফর্ম হতে পারে এবং এর সাথে পড়া হবে
বর্তমান প্যাকেজ সেট pgloader.transforms, যাতে আপনি সংজ্ঞায়িত ফাংশন ব্যবহার করতে পারেন
যে প্যাকেজ, যেমন ফাংশন সঙ্গে গতিশীল লোড --বোঝা কমান্ড লাইন
প্যারামিটার।
প্রতি ব্যবহার এক্সপ্রেশন রানটাইমে নেটিভ কোডে কম্পাইল করা হয়।
এই বৈশিষ্ট্যটি pgloader কে একটি CSV ফাইলে যেকোন সংখ্যক ক্ষেত্র লোড করতে দেয়
এর জন্য কাস্টম কোড ব্যবহার করে ডাটাবেসের মধ্যে সম্ভবত বিভিন্ন সংখ্যক কলাম
অভিক্ষেপ
· সঙ্গে
যেকোনো একটির একটি গ্লোবাল সিনট্যাক্স ব্যবহার করে কমান্ডে প্রয়োগ করার জন্য বিকল্পগুলির সেট:
· চাবি = মূল্য
· ব্যবহার পছন্দ
· do না ব্যবহার পছন্দ
বিস্তারিত জানার জন্য প্রতিটি নির্দিষ্ট কমান্ড দেখুন।
· সেট
এই ধারাটি খোলা সমস্ত সেশনের জন্য সেশন প্যারামিটারগুলি নির্দিষ্ট করার অনুমতি দেয়
pgloader দ্বারা. এটি পরামিতি নামের একটি তালিকা আশা করে, সমান চিহ্ন, তারপর
একটি কমা বিভক্ত তালিকা হিসাবে একক-উদ্ধৃত মান।
প্যারামিটারের নাম এবং মান pgloader দ্বারা যাচাই করা হয় না, তারা দেওয়া হয়
PostgreSQL-এর মতো।
· আগে বোঝা DO
থেকে ডেটা লোড করার আগে আপনি ডাটাবেসের বিরুদ্ধে SQL কোয়েরি চালাতে পারেন CSV তে
ফাইল সবচেয়ে সাধারণ এসকিউএল প্রশ্ন হয় তৈরি করুন সারণী IF না উপস্থিত যাতে ডাটা হতে পারে
লোড করা হয়নি।
প্রতিটি কমান্ড হতে হবে ডলার-উদ্ধৃত: এটি একটি ডবল ডলার চিহ্ন দিয়ে শুরু এবং শেষ করতে হবে,
$$. ডলার-উদ্ধৃত প্রশ্নগুলি তারপর কমা দ্বারা পৃথক করা হয়। কোন অতিরিক্ত বিরাম চিহ্ন প্রত্যাশিত
শেষ এসকিউএল কোয়েরির পরে।
· আগে বোঝা এক্সিকিউট
হিসাবে একই আচরণ আগে বোঝা DO ধারা আপনাকে SQL কোয়েরি পড়ার অনুমতি দেয়
একটি SQL ফাইল থেকে। PostgreSQL ডলার-উদ্ধৃতি এবং এর জন্য সমর্থন প্রয়োগ করে \i এবং \ir
যেমন সুবিধা অন্তর্ভুক্ত psql ব্যাচ মোড (যেখানে তারা একই জিনিস)।
· পরে বোঝা DO
হিসাবে একই বিন্যাস আগে বোঝা DO, ডলার-উদ্ধৃত প্রশ্ন যে বিভাগে পাওয়া যায়
একবার লোড সম্পন্ন করা হয়. সূচী তৈরি করার এটাই সঠিক সময় এবং
সীমাবদ্ধতা, বা ট্রিগার পুনরায় সক্রিয়.
· পরে বোঝা এক্সিকিউট
হিসাবে একই আচরণ পরে বোঝা DO ধারা আপনাকে এসকিউএল কোয়েরি পড়ার অনুমতি দেয়
একটি SQL ফাইল। PostgreSQL ডলার-উদ্ধৃতি এবং এর জন্য সমর্থন প্রয়োগ করে \i এবং \ir
যেমন সুবিধা অন্তর্ভুক্ত psql ব্যাচ মোড (যেখানে তারা একই জিনিস)।
সংযোগ স্ট্রিং
সার্জারির পরামিতি একটি হিসাবে দেওয়া প্রত্যাশিত সংযোগ কোনো URI নথি হিসাবে
PostgreSQL ডকুমেন্টেশনে
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-CONNSTRING
postgresql://[user[:password]@][netloc][:port][/dbname][?option=value&...]
যেখানে:
· ব্যবহারকারী
কোলন সহ যেকোনো অক্ষর থাকতে পারে (:) যা তারপর দ্বিগুণ করতে হবে (::) এবং
সাইন (@) যা তারপর দ্বিগুণ করতে হবে (@@).
বাদ দিলে, the ব্যবহারকারী নামের মান ডিফল্ট PGUSER পরিবেশ সূচক,
এবং যদি এটি সেট না করা হয়, এর মান USER কে পরিবেশ সূচক.
· পাসওয়ার্ড
অ্যাট চিহ্ন সহ যেকোনো অক্ষর থাকতে পারে (@) যা তারপর দ্বিগুণ করতে হবে (@@).
পাসওয়ার্ড খালি রাখতে, যখন ব্যবহারকারী নাম চিহ্ন দিয়ে শেষ হয়, তাহলে আপনাকে করতে হবে
সিনট্যাক্স ব্যবহারকারী ব্যবহার করুন:@।
বাদ দিলে, the পাসওয়ার্ড এর মান ডিফল্ট পিজিপাসওয়ার্ড পরিবেশ
পরিবর্তনশীল যদি এটি সেট করা থাকে, অন্যথায় পাসওয়ার্ড সেট না করে রাখা হয়।
· netloc
বিন্দুযুক্ত স্বরলিপিতে একটি হোস্টনাম, অথবা একটি ipv4, অথবা একটি ইউনিক্স ডোমেন সকেট হতে পারে
পথ খালি হল ডিফল্ট নেটওয়ার্ক অবস্থান, একটি সিস্টেম প্রদানের অধীনে UNIX ডোমেইন
সকেট যে পদ্ধতি পছন্দ করা হয়, অন্যথায় netloc ডিফল্ট থেকে স্থানীয় হোস্ট.
জোর করা সম্ভব UNIX ডোমেইন সকেট সিনট্যাক্স ব্যবহার করে পথ
unix:/path/to/where/the/socket/file/is, তাই একটি নন-ডিফল্ট সকেট পাথ এবং ক
নন ডিফল্ট পোর্ট, আপনার থাকবে:
postgresql://unix:/ tmp -র পরিবর্তে:54321/dbname
সার্জারির netloc এর মান ডিফল্ট PGHOST এনভায়রনমেন্ট ভেরিয়েবল, এবং যদি এটি সেট না থাকে,
হয় ডিফল্ট UNIX ইউনিক্স সিস্টেমে চলার সময় সকেট পাথ, এবং স্থানীয় হোস্ট
অন্যথায়।
· dbname
একটি সঠিক শনাক্তকারী হওয়া উচিত (অক্ষর, অঙ্ক এবং
বিরাম চিহ্ন কমা (,), ড্যাশ (-) এবং আন্ডারস্কোর (_).
বাদ দিলে, the dbname পরিবেশ পরিবর্তনশীল মান ডিফল্ট পিজিডেটাবেস,
এবং যদি এটি সেট করা না থাকে, তাহলে ব্যবহারকারী উপরে নির্ধারিত মান।
· অপশন
ঐচ্ছিক পরামিতি অবশ্যই ফর্মের সাথে সরবরাহ করতে হবে নাম = মান, এবং আপনি ব্যবহার করতে পারেন
একটি অ্যাম্পারস্যান্ড ব্যবহার করে বিভিন্ন পরামিতি আলাদা করে (&) চরিত্র।
শুধুমাত্র কিছু বিকল্প এখানে সমর্থিত, টেবিলের নাম (যা একটি সঙ্গে যোগ্য হতে পারে
স্কিমার নাম) sslmode, নিমন্ত্রণকর্তা, বন্দর, dbname, ব্যবহারকারী এবং পাসওয়ার্ড.
সার্জারির sslmode পরামিতি মান একটি হতে পারে অক্ষম, অনুমতি, পছন্দ করা or প্রয়োজন.
পশ্চাদপদ সামঞ্জস্যতার কারণে, এটি নির্দিষ্ট করা সম্ভব টেবিলের নাম পছন্দ
সরাসরি, বানান আউট ছাড়া টেবিলের নাম = অংশ।
বিকল্পগুলি প্রধান URI উপাদানগুলিকে ওভাররাইড করে যখন উভয় দেওয়া হয়, এবং ব্যবহার করে
শতাংশ-এনকোডেড বিকল্প পরামিতি একটি কোলন দিয়ে শুরু করে পাসওয়ার্ড ব্যবহার করার অনুমতি দেয়
সীমাবদ্ধতা পার্সিং অন্যান্য URI উপাদান বাইপাস.
নিয়মিত এক্সপ্রেশন
নিম্নলিখিত তালিকাভুক্ত বেশ কয়েকটি ধারা গ্রহণ করে নিয়মিত এক্সপ্রেশন নিম্নলিখিত সঙ্গে
ইনপুট নিয়ম:
একটি নিয়মিত অভিব্যক্তি টিল্ড চিহ্ন দিয়ে শুরু হয় (~),
· তারপর একটি খোলার চিহ্ন দিয়ে অনুসরণ করা হয়,
· তারপর যে কোনো অক্ষর অনুমোদিত এবং নিয়মিত অভিব্যক্তির অংশ হিসাবে বিবেচিত হয়, ব্যতীত
সমাপনী চিহ্নের জন্য,
তাহলে একটি সমাপনী চিহ্ন প্রত্যাশিত।
খোলার এবং সমাপ্তি চিহ্ন জোড়া দ্বারা অনুমোদিত, এখানে অনুমোদিত সম্পূর্ণ তালিকা আছে
সীমাবদ্ধকারী:
~//
~[]
~{}
~()
~<>
~""
~''
~||
~##
সীমাবদ্ধতার সেট বেছে নিন যেগুলির সাথে সংঘর্ষ হয় না নিয়মিত অভিব্যক্তি আপনি চেষ্টা করছেন
ইনপুট. যদি আপনার অভিব্যক্তি এমন হয় যে সমাধানগুলির কোনটিই আপনাকে এটিতে প্রবেশ করতে দেয় না,
যেখানে এই ধরনের অভিব্যক্তি অনুমোদিত সেখানে অভিব্যক্তির তালিকার অনুমতি দেওয়া উচিত।
মন্তব্য
যেকোন কমান্ডে এই ইনপুট নিয়মগুলি অনুসরণ করে মন্তব্য থাকতে পারে:
· দ্য -- ডিলিমিটার একটি মন্তব্য শুরু করে যা বর্তমান লাইনের শেষে শেষ হয়,
সীমানা /* এবং */ যথাক্রমে একটি মন্তব্য শুরু এবং শেষ, যা পাওয়া যাবে
একটি কমান্ডের মাঝখানে বা বেশ কয়েকটি লাইন স্প্যান করুন।
যে কোনো জায়গা যেখানে আপনি প্রবেশ করতে পারেন a হোয়াইটস্পেস একটি মন্তব্যও গ্রহণ করবে।
দল আচরণ অপশন
সমস্ত pgloader কমান্ড a এর জন্য সমর্থন করে সঙ্গে ধারা যা বিকল্পগুলি নির্দিষ্ট করার অনুমতি দেয়।
কিছু বিকল্প জেনেরিক এবং সমস্ত কমান্ড দ্বারা গৃহীত হয়, যেমন দল আচরণ
অপশন, এবং কিছু বিকল্প ডেটা উৎসের জন্য নির্দিষ্ট, যেমন CSV লাফালাফি করা হেডার
বিকল্প।
বিশ্বব্যাপী ব্যাচ আচরণ বিকল্পগুলি হল:
· দল সারি
যুক্তি হিসাবে একটি সাংখ্যিক মান নেয়, a-তে অনুমোদিত সর্বাধিক সংখ্যক সারি হিসাবে ব্যবহৃত হয়৷
ব্যাচ ডিফল্ট হয় 25 000 এবং আরও ভাল পারফরম্যান্স করার চেষ্টা করার জন্য পরিবর্তন করা যেতে পারে
বৈশিষ্ট্য বা pgloader মেমরি ব্যবহার নিয়ন্ত্রণ;
· দল আয়তন
যুক্তি হিসাবে একটি মেমরি ইউনিট লাগে, যেমন 20 MB, এর ডিফল্ট মান। গৃহীত
গুণক হয় kB, MB, GB, TB এবং PB. মামলাটি গুরুত্বপূর্ণ যাতে বিভ্রান্ত না হয়
বিট বনাম বাইট সম্পর্কে, আমরা এখানে শুধুমাত্র বাইট কথা বলছি।
· দল সম্পাতবিন্দু
আর্গুমেন্ট হিসাবে একটি সাংখ্যিক মান নেয়, এতে ডিফল্ট 10. যে ব্যাচ সংখ্যা যে
pgloader মেমরিতে তৈরি করার অনুমতি দেয়, এমনকি যখন একবারে শুধুমাত্র একটি ব্যাচ হতে পারে
PostgreSQL এ পাঠানো হবে।
একবারে পাঠানো একক ব্যাচের বেশি সমর্থন করা TODO তালিকায় রয়েছে
pgloader, কিন্তু এখনও বাস্তবায়িত হয়নি। এই বিকল্পটি মেমরি নিয়ন্ত্রণ সম্পর্কে
পারফরম্যান্সের বৈশিষ্ট্যগুলির সাথে ট্রেড-অফ হিসাবে পিগ্লোডারের প্রয়োজন, এবং সম্পর্কে নয়
pgloader এর সমান্তরাল কার্যকলাপ।
অন্যান্য বিকল্পগুলি প্রতিটি ইনপুট উত্সের জন্য নির্দিষ্ট, অনুগ্রহ করে এর নির্দিষ্ট অংশগুলি পড়ুন৷
তাদের তালিকা এবং আবরণ জন্য ডকুমেন্টেশন.
একটি ব্যাচ তারপর যত তাড়াতাড়ি হয় বন্ধ করা হয় দল সারি অথবা দল আয়তন থ্রেশহোল্ড হয়
অতিক্রম, যেটা আগে আসে। যেসব ক্ষেত্রে কোনো ব্যাচের কারণে বন্ধ করতে হয়
দল আয়তন সেটিং, ক ডেবাগ্ করা লেভেল লগ মেসেজ প্রিন্ট করা হয় কতগুলো সারি তে ফিট করে
, oversized ব্যাচ
বোঝা CSV তে
এই কমান্ডটি pgloader কে a থেকে ডেটা লোড করার নির্দেশ দেয় CSV তে ফাইল এখানে একটি উদাহরণ:
CSV লোড করুন
এনকোডিং iso-646-us সহ 'GeoLiteCity-Blocks.csv' থেকে
ক্ষেত্র আছে
(
startIpNum, endIpNum, locId
)
postgresql://user@localhost:54393/dbname?geolite.blocks INTO
লক্ষ্য কলাম
(
iprange ip4r ব্যবহার করে (ip-range startIpNum endIpNum),
locId
)
ছেঁটে দিয়ে,
শিরোনাম এড়িয়ে যান = 2,
ঐচ্ছিকভাবে ´"´ দ্বারা আবদ্ধ ক্ষেত্র,
ক্ষেত্রগুলি ব্যাকস্ল্যাশ-উদ্ধৃতি দ্বারা পালিয়ে গেছে,
ক্ষেত্রগুলি '\t' দ্বারা সমাপ্ত
work_mem কে ´32 MB', রক্ষণাবেক্ষণ_work_mem কে ´64 MB';
সার্জারির CSV বিন্যাস কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম কোথা থেকে ডেটা লোড করতে হবে। একটি গ্রহণ করে এনকোডিং বিকল্প ব্যবহার
--তালিকা-এনকোডিং কোন এনকোডিং নাম সমর্থিত তা জানার বিকল্প।
ফাইলের নাম একক উদ্ধৃতি দ্বারা আবদ্ধ হতে পারে এবং নিম্নলিখিতগুলির মধ্যে একটি হতে পারে৷
বিশেষ মান:
· সঙ্গতিপূর্ণভাবে
পার্স করা কমান্ড শেষ হওয়ার পরে ডেটা পাওয়া যায়। যেকোন সংখ্যক খালি লাইন
কমান্ডের শেষ এবং ডেটার শুরুর মধ্যে গৃহীত হয়।
· stdin
স্ট্যান্ডার্ড ইনপুট স্ট্রীম থেকে ডেটা পড়ে।
· ফাইলের নাম ম্যাচিং
সমগ্র ম্যাচিং অনুচ্ছেদ নিম্নলিখিত নিয়ম অনুসরণ করা আবশ্যক:
[ সমস্ত ফাইলের নাম | [ প্রথম ] ফাইলের নাম ]
ম্যাচিং regexp
[ডিরেক্টরিতে '...']
সার্জারির ম্যাচিং প্রদত্ত ধারা প্রযোজ্য নিয়মিত অভিব্যক্তি (সঠিক সিনট্যাক্সের জন্য উপরে দেখুন, বেশ কয়েকটি
বিকল্পগুলি এখানে ব্যবহার করা যেতে পারে) ফাইলের নামগুলিতে। তারপর শুধুমাত্র থেকে ডেটা লোড করা সম্ভব
তাদের সবার প্রথম ম্যাচ।
.চ্ছিক IN ডিরেক্টরী ধারাটি খুঁজে বের করার জন্য কোন ডিরেক্টরিটি চলতে হবে তা নির্দিষ্ট করার অনুমতি দেয়
ডেটা ফাইল, এবং কমান্ড ফাইলটি যেখান থেকে পড়া হয় তার সাথে আপেক্ষিক হতে পারে, বা
পরম প্রদত্ত ডিরেক্টরি বিদ্যমান থাকা আবশ্যক.
সার্জারির থেকে বিকল্পটি একটি ঐচ্ছিক কমা দ্বারা পৃথক করা তালিকাকেও সমর্থন করে ক্ষেত্র বর্ণনাকারী নাম
কি আশা করা হয় CSV তে ডেটা ফাইল, ঐচ্ছিকভাবে ধারা দ্বারা প্রবর্তিত উপস্থাপন করে আমরা সহজেই ফিল্ডস.
প্রতিটি ক্ষেত্রের নাম হয় শুধুমাত্র একটি নাম বা নির্দিষ্ট পাঠকের সাথে অনুসরণ করা একটি নাম হতে পারে
সেই ক্ষেত্রের বিকল্পগুলি, বর্গাকার বন্ধনীতে আবদ্ধ এবং কমা দ্বারা পৃথক করা। সমর্থিত
প্রতি-ক্ষেত্র পাঠক বিকল্পগুলি হল:
· পর্যবসিত by
এর বর্ণনা দেখুন ক্ষেত্র পর্যবসিত by নিচে.
এই বিকল্পটির প্রক্রিয়াকরণ বর্তমানে বাস্তবায়িত হয় না।
· তারিখ বিন্যাস
যখন ক্ষেত্রটি তারিখের প্রকারের প্রত্যাশিত হয়, তখন এই বিকল্পটি নির্দিষ্ট করার অনুমতি দেয়
ফাইলে ব্যবহৃত তারিখ বিন্যাস।
তারিখ বিন্যাস স্ট্রিং হল টেমপ্লেট স্ট্রিং যা PostgreSQL এর বিপরীতে তৈরি করা হয়েছে to_char
টেমপ্লেট স্ট্রিং সমর্থন, নিম্নলিখিত নিদর্শন সীমাবদ্ধ:
· YYYY, YYY, YY বছরের অংশের জন্য
· সাংখ্যিক মাসের অংশের জন্য MM
· সাংখ্যিক দিনের অংশের জন্য ডিডি
· ঘন্টা অংশের জন্য HH, HH12, HH24
· am, AM, am, AM
· pm, PM, pm, PM
মিনিট অংশের জন্য MI
সেকেন্ড অংশের জন্য SS
মিলিসেকেন্ড অংশের জন্য MS (4 সংখ্যা)
মাইক্রোসেকেন্ড অংশের জন্য US (6 সংখ্যা)
· অপার্স করা বিরাম চিহ্ন: - . *#@T/\ এবং স্থান
এখানে একটি উদাহরণ তারিখ বিন্যাস স্পেসিফিকেশন:
কলাম-নাম [তারিখ বিন্যাস ´YYYY-MM-DD HH24-MI-SS.US´]
· অকার্যকর if
এই বিকল্পটি একটি আর্গুমেন্ট নেয় যা হয় কীওয়ার্ড ঐ খালি অথবা একটি ডবল উদ্ধৃত
স্ট্রিং।
কখন ঐ খালি ব্যবহৃত হয় এবং পঠিত ক্ষেত্রের মানটিতে শুধুমাত্র স্থান অক্ষর রয়েছে,
তারপর এটি স্বয়ংক্রিয়ভাবে একটি SQL তে রূপান্তরিত হয় শূন্য মান।
যখন একটি ডবল-উদ্ধৃত স্ট্রিং ব্যবহার করা হয় এবং সেই স্ট্রিংটিকে ক্ষেত্র মান হিসাবে পড়া হয়, তখন
ক্ষেত্রের মান স্বয়ংক্রিয়ভাবে একটি SQL তে রূপান্তরিত হয় শূন্য মান।
· ছাঁটা উভয় হোয়াইটস্পেস, ছাঁটা বাম হোয়াইটস্পেস, ছাঁটা অধিকার হোয়াইটস্পেস
এই বিকল্পটি পঠিত ডেটাতে হোয়াইটস্পেস ট্রিম করার অনুমতি দেয়, উভয় দিক থেকে
ডেটা, বা শুধুমাত্র সাদা স্থানের অক্ষরগুলি স্ট্রিংয়ের বামে পাওয়া যায়, বা শুধুমাত্র
স্ট্রিং ডানদিকে যারা.
· সঙ্গে
থেকে লোড করার সময় ক CSV তে ফাইল, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা a ট্রানসেট PostgreSQL এর বিরুদ্ধে কমান্ড
ডাটা ফাইল পড়ার আগে টার্গেট টেবিল।
· ঝরা ইনডেক্স
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা ড্রপ এর INDEX সব বিরুদ্ধে আদেশ
তথ্য অনুলিপি করার আগে লক্ষ্য টেবিলে সংজ্ঞায়িত সূচী, তারপর তৈরি করুন এর INDEX
কমান্ড একবার অনুলিপি সমাপ্ত.
সম্ভাব্য সর্বোত্তম পারফরম্যান্স পাওয়ার জন্য, সমস্ত সূচক তৈরি করা হয়েছে
সমান্তরাল এবং সম্পন্ন হলে প্রাথমিক কীগুলি অনন্য সূচকগুলি থেকে আবার তৈরি করা হয়
তৈরি এই দুই ধাপের প্রক্রিয়া সমান্তরালে প্রাথমিক কী সূচক তৈরি করতে দেয়
অন্যান্য সূচক, শুধুমাত্র হিসাবে পরিবর্তন সারণী কমান্ড একটি প্রয়োজন প্রবেশ একচেটিয়া তালা on
লক্ষ্য টেবিল।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· লাফালাফি করা হেডার
যুক্তি হিসাবে একটি সংখ্যাসূচক মান নেয়। পিগ্লোডারকে নির্দেশ দিন যে অনেক লাইন এড়িয়ে যেতে
ইনপুট ফাইলের শুরু।
· CSV হেডার
পরে পড়া প্রথম লাইন ব্যবহার করুন লাফালাফি করা হেডার csv ক্ষেত্রের নামের তালিকা হিসাবে পাওয়া যাবে
CSV ফাইলে, CSV ডেটার মতো একই CSV প্যারামিটার ব্যবহার করে।
· ছাঁটা উদ্ধৃত ঐ খালি
তে উদ্ধৃতিহীন মান পড়ার সময় CSV তে ফাইল, এর মধ্যে পাওয়া ফাঁকাগুলি সরান
বিভাজক এবং মান। যে আচরণ ডিফল্ট.
· রাখা উদ্ধৃত ঐ খালি
তে উদ্ধৃতিহীন মান পড়ার সময় CSV তে ফাইল, মধ্যে ফাঁকা রাখা
বিভাজক এবং মান।
· ক্ষেত্র ঐচ্ছিকরূপে ঘিরা by
যুক্তি হিসাবে একটি একক অক্ষর নেয়, যা অবশ্যই একক উদ্ধৃতির মধ্যে পাওয়া যাবে, এবং৷
মুদ্রণযোগ্য অক্ষর হিসাবে দেওয়া যেতে পারে, বিশেষ মান \t a বোঝাতে
ট্যাবুলেশন অক্ষর, বা 0x তারপর একটি হেক্সাডেসিমেল মান এর জন্য ASCII কোড হিসাবে পড়া হয়
অক্ষর।
এই অক্ষরটি উদ্ধৃতি অক্ষর হিসাবে ব্যবহৃত হয় CSV তে ফাইল, এবং ডিফল্ট
ডবল উদ্ধৃতি
· ক্ষেত্র না ঘিরা
ডিফল্টরূপে, pgloader ডবল-উদ্ধৃতি অক্ষরটি বদ্ধ অক্ষর হিসাবে ব্যবহার করবে।
আপনার যদি একটি CSV ফাইল থাকে যেখানে ক্ষেত্রগুলি আবদ্ধ না থাকে এবং একটি হিসাবে ডাবল-উদ্ধৃতি ব্যবহার করে
প্রত্যাশিত সাধারণ অক্ষর, তারপর বিকল্পটি ব্যবহার করুন ক্ষেত্র না ঘিরা CSV-এর জন্য
এই মানগুলি গ্রহণ করার জন্য পার্সার।
· ক্ষেত্র পলান by
হয় বিশেষ মান নেয় ব্যাকস্ল্যাশ-উদ্ধৃতি or ডবল উদ্ধৃতি, বা কোনো মান সমর্থিত
দ্বারা ক্ষেত্র পর্যবসিত by বিকল্প (নীচে দেখুন)। এই মান চিনতে ব্যবহৃত হয়
এস্কেপড ফিল্ড বিভাজক যখন তাদের ডেটা ফিল্ডের মধ্যে খুঁজে পাওয়া যায়।
ডিফল্ট থেকে ডবল উদ্ধৃতি.
· CSV অব্যাহতি মোড
হয় বিশেষ মান নেয় উদ্ধৃতি (ডিফল্ট) বা অনুসরণ এবং CSV এর অনুমতি দেয়
পার্স করার জন্য পার্সার হয় শুধুমাত্র এস্কেপড ফিল্ড সেপারেটর বা যেকোনো অক্ষর (CSV সহ
ডেটা) ব্যবহার করার সময় অনুসরণ মান।
· ক্ষেত্র পর্যবসিত by
যুক্তি হিসাবে একটি একক অক্ষর নেয়, যা অবশ্যই একক উদ্ধৃতির মধ্যে পাওয়া যাবে, এবং৷
মুদ্রণযোগ্য অক্ষর হিসাবে দেওয়া যেতে পারে, বিশেষ মান \t a বোঝাতে
ট্যাবুলেশন অক্ষর, বা 0x তারপর একটি হেক্সাডেসিমেল মান এর জন্য ASCII কোড হিসাবে পড়া হয়
অক্ষর।
এই অক্ষর হিসাবে ব্যবহার করা হয় ক্ষেত্র বিভাজক পড়ার সময় CSV তে ডেটা।
· লাইন পর্যবসিত by
যুক্তি হিসাবে একটি একক অক্ষর নেয়, যা অবশ্যই একক উদ্ধৃতির মধ্যে পাওয়া যাবে, এবং৷
মুদ্রণযোগ্য অক্ষর হিসাবে দেওয়া যেতে পারে, বিশেষ মান \t a বোঝাতে
ট্যাবুলেশন অক্ষর, বা 0x তারপর একটি হেক্সাডেসিমেল মান এর জন্য ASCII কোড হিসাবে পড়া হয়
অক্ষর।
এই চরিত্রটি চিনতে ব্যবহৃত হয় বাক্যের শেষে পড়ার সময় অবস্থা CSV তে ডেটা।
বোঝা FIXED COLS
এই কমান্ডটি পিগ্লোডারকে সাজানো কলাম সমন্বিত একটি পাঠ্য ফাইল থেকে ডেটা লোড করার নির্দেশ দেয়
একটি স্থায়ী আয়তন পদ্ধতি এখানে একটি উদাহরণ:
লোড ফিক্সড
ইনলাইন থেকে
(
a 0 থেকে 10 এর জন্য,
b 10 থেকে 8 এর জন্য,
গ 18 থেকে 8 জন্য,
26 এর জন্য 17 থেকে d [খালি থাকলে শূন্য, ডান সাদা স্থান ট্রিম করুন]
)
INTO postgresql:///pgloader?fixed
(
ক, খ,
c সময় ব্যবহার করে (সময়-সহ-না-বিভাজক c),
d
)
ছাঁটা দিয়ে
ক্লায়েন্ট_এনকোডিংকে 'ল্যাটিন1' এ সেট করুন,
work_mem থেকে ´14MB',
স্ট্যান্ডার্ড_কনফর্মিং_স্ট্রিং থেকে 'চালু'
লোড করার আগে করবেন
$$ ড্রপ টেবিল যদি স্থির থাকে; $$,
$$ তৈরি টেবিল স্থির (
একটি পূর্ণসংখ্যা,
খ তারিখ,
গ সময়,
d পাঠ্য
);
$$;
01234567892008052011431250প্রথম লাইন
01234562008052115182300বাম ফাঁকা-প্যাডেড
12345678902008052208231560অন্য লাইন
2345609872014092914371500
2345678902014092914371520
সার্জারির স্থায়ী বিন্যাস কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম কোথা থেকে ডেটা লোড করতে হবে। একটি গ্রহণ করে এনকোডিং বিকল্প ব্যবহার
--তালিকা-এনকোডিং কোন এনকোডিং নাম সমর্থিত তা জানার বিকল্প।
ফাইলের নাম একক উদ্ধৃতি দ্বারা আবদ্ধ হতে পারে এবং নিম্নলিখিতগুলির মধ্যে একটি হতে পারে৷
বিশেষ মান:
· সঙ্গতিপূর্ণভাবে
পার্স করা কমান্ড শেষ হওয়ার পরে ডেটা পাওয়া যায়। যেকোন সংখ্যক খালি লাইন
কমান্ডের শেষ এবং ডেটার শুরুর মধ্যে গৃহীত হয়।
· stdin
স্ট্যান্ডার্ড ইনপুট স্ট্রীম থেকে ডেটা পড়ে।
সার্জারির থেকে বিকল্পটি একটি ঐচ্ছিক কমা দ্বারা পৃথক করা তালিকাকেও সমর্থন করে ক্ষেত্র বর্ণনাকারী নাম
কি আশা করা হয় FIXED তথ্য ফাইল.
প্রতিটি ক্ষেত্রের নাম নির্দিষ্ট পাঠক বিকল্পগুলির সাথে অনুসরণ করা ক্ষেত্রের নাম দিয়ে গঠিত
যে ক্ষেত্র সমর্থিত প্রতি-ক্ষেত্র পাঠক বিকল্পগুলি নিম্নলিখিত, যেখানে শুধুমাত্র শুরু এবং
লম্বা প্রয়োজন হয়.
· শুরু
লাইনের অবস্থান যেখানে সেই ক্ষেত্রের মান পড়া শুরু করতে হবে। দিয়ে প্রবেশ করা যায়
দশমিক সংখ্যা বা 0x তারপর হেক্সাডেসিমেল সংখ্যা।
· লম্বা
কত বাইট থেকে পড়তে হবে শুরু সেই ক্ষেত্রের মান পড়ার জন্য অবস্থান। একই বিন্যাস
as শুরু.
ঐ ঐচ্ছিক পরামিতিগুলি অবশ্যই বর্গাকার বন্ধনীতে আবদ্ধ এবং কমা দ্বারা পৃথক করা আবশ্যক:
· পর্যবসিত by
এর বর্ণনা দেখুন ক্ষেত্র পর্যবসিত by নিচে.
এই বিকল্পটির প্রক্রিয়াকরণ বর্তমানে বাস্তবায়িত হয় না।
· তারিখ বিন্যাস
যখন ক্ষেত্রটি তারিখের প্রকারের প্রত্যাশিত হয়, তখন এই বিকল্পটি নির্দিষ্ট করার অনুমতি দেয়
ফাইলে ব্যবহৃত তারিখ বিন্যাস।
তারিখ বিন্যাস স্ট্রিং হল টেমপ্লেট স্ট্রিং যা PostgreSQL এর বিপরীতে তৈরি করা হয়েছে to_char
টেমপ্লেট স্ট্রিং সমর্থন, নিম্নলিখিত নিদর্শন সীমাবদ্ধ:
· YYYY, YYY, YY বছরের অংশের জন্য
· সাংখ্যিক মাসের অংশের জন্য MM
· সাংখ্যিক দিনের অংশের জন্য ডিডি
· ঘন্টা অংশের জন্য HH, HH12, HH24
· am, AM, am, AM
· pm, PM, pm, PM
মিনিট অংশের জন্য MI
সেকেন্ড অংশের জন্য SS
মিলিসেকেন্ড অংশের জন্য MS (4 সংখ্যা)
মাইক্রোসেকেন্ড অংশের জন্য US (6 সংখ্যা)
· অপার্স করা বিরাম চিহ্ন: - . *#@T/\ এবং স্থান
এখানে একটি উদাহরণ তারিখ বিন্যাস স্পেসিফিকেশন:
কলাম-নাম [তারিখ বিন্যাস ´YYYY-MM-DD HH24-MI-SS.US´]
· অকার্যকর if
এই বিকল্পটি একটি আর্গুমেন্ট নেয় যা হয় কীওয়ার্ড ঐ খালি অথবা একটি ডবল উদ্ধৃত
স্ট্রিং।
কখন ঐ খালি ব্যবহৃত হয় এবং পঠিত ক্ষেত্রের মানটিতে শুধুমাত্র স্থান অক্ষর রয়েছে,
তারপর এটি স্বয়ংক্রিয়ভাবে একটি SQL তে রূপান্তরিত হয় শূন্য মান।
যখন একটি ডবল-উদ্ধৃত স্ট্রিং ব্যবহার করা হয় এবং সেই স্ট্রিংটিকে ক্ষেত্র মান হিসাবে পড়া হয়, তখন
ক্ষেত্রের মান স্বয়ংক্রিয়ভাবে একটি SQL তে রূপান্তরিত হয় শূন্য মান।
· ছাঁটা উভয় হোয়াইটস্পেস, ছাঁটা বাম হোয়াইটস্পেস, ছাঁটা অধিকার হোয়াইটস্পেস
এই বিকল্পটি পঠিত ডেটাতে হোয়াইটস্পেস ট্রিম করার অনুমতি দেয়, উভয় দিক থেকে
ডেটা, বা শুধুমাত্র সাদা স্থানের অক্ষরগুলি স্ট্রিংয়ের বামে পাওয়া যায়, বা শুধুমাত্র
স্ট্রিং ডানদিকে যারা.
· সঙ্গে
থেকে লোড করার সময় ক FIXED ফাইল, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা a ট্রানসেট PostgreSQL এর বিরুদ্ধে কমান্ড
ডাটা ফাইল পড়ার আগে টার্গেট টেবিল।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· লাফালাফি করা হেডার
যুক্তি হিসাবে একটি সংখ্যাসূচক মান নেয়। পিগ্লোডারকে নির্দেশ দিন যে অনেক লাইন এড়িয়ে যেতে
ইনপুট ফাইলের শুরু।
বোঝা অনুলিপি ফরম্যাটেড নথি পত্র
এই কমান্ডগুলি পিগ্লোডারকে একটি ফাইল থেকে লোড করার নির্দেশ দেয় যাতে কপি টেক্সট ডেটা থাকে
PostgreSQL ডকুমেন্টেশনে বর্ণিত। এখানে একটি উদাহরণ:
লোড কপি
কপি://./data/track.copy থেকে
(
ট্র্যাকিড, ট্র্যাক, অ্যালবাম, মিডিয়া, জেনার, সুরকার,
মিলিসেকেন্ড, বাইট, ইউনিট মূল্য
)
INTO postgresql:///pgloader?track_full
ছাঁটা দিয়ে
ক্লায়েন্ট_এনকোডিংকে 'ল্যাটিন1' এ সেট করুন,
work_mem থেকে ´14MB',
স্ট্যান্ডার্ড_কনফর্মিং_স্ট্রিং থেকে 'চালু'
লোড করার আগে করবেন
$$ ড্রপ টেবিল যদি বিদ্যমান থাকে track_full; $$,
$$ টেবিল ট্র্যাক_ফুল তৈরি করুন (
ট্র্যাকিড বড় সিরিয়াল,
ট্র্যাক টেক্সট,
অ্যালবাম পাঠ্য,
মিডিয়া টেক্সট,
জেনার টেক্সট,
সুরকার পাঠ্য,
মিলিসেকেন্ড বিগন্ট,
বাইট বিজিন্ট,
একক মূল্য সাংখ্যিক
);
$$;
সার্জারির অনুলিপি বিন্যাস কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম কোথা থেকে ডেটা লোড করতে হবে। এটি স্থানীয় ফাইল, HTTP URL এবং জিপ সমর্থন করে
একই নামের একটি একক dbf ফাইল ধারণকারী ফাইল। একটি থেকে যেমন একটি জিপ ফাইল আনুন
HTTP ঠিকানা অবশ্যই সমর্থিত.
· সঙ্গে
থেকে লোড করার সময় ক অনুলিপি ফাইল, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
· সীমানা
যুক্তি হিসাবে একটি একক অক্ষর নেয়, যা অবশ্যই একক উদ্ধৃতির মধ্যে পাওয়া যাবে, এবং৷
মুদ্রণযোগ্য অক্ষর হিসাবে দেওয়া যেতে পারে, বিশেষ মান \t a বোঝাতে
ট্যাবুলেশন অক্ষর, বা 0x তারপর একটি হেক্সাডেসিমেল মান এর জন্য ASCII কোড হিসাবে পড়া হয়
অক্ষর।
এই অক্ষর হিসাবে ব্যবহার করা হয় সীমানা ডেটা পড়ার সময়, অনুরূপভাবে
পোস্টগ্রি অনুলিপি বিকল্প।
· অকার্যকর
একটি আর্গুমেন্ট হিসাবে একটি উদ্ধৃত স্ট্রিং নেয় (উদ্ধৃতিগুলি ডাবল কোট বা একক হতে পারে৷
উদ্ধৃতি) এবং সেই স্ট্রিংটিকে হিসাবে ব্যবহার করে শূন্য তথ্য প্রতিনিধিত্ব.
এটি এর অনুরূপ অকার্যকর অনুলিপি PostgreSQL-এ বিকল্প।
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা a ট্রানসেট PostgreSQL এর বিরুদ্ধে কমান্ড
ডাটা ফাইল পড়ার আগে টার্গেট টেবিল।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· লাফালাফি করা হেডার
যুক্তি হিসাবে একটি সংখ্যাসূচক মান নেয়। পিগ্লোডারকে নির্দেশ দিন যে অনেক লাইন এড়িয়ে যেতে
ইনপুট ফাইলের শুরু।
বোঝা DBF
এই কমান্ডটি pgloader কে a থেকে ডেটা লোড করার নির্দেশ দেয় DBF ফাইল এখানে একটি উদাহরণ:
DBF লোড করুন
থেকে http://www.insee.fr/fr/methodes/nomenclatures/cog/telechargement/2013/dbf/reg2013.dbf
INTO postgresql://user@localhost/dbname
ছাঁটাই দিয়ে, টেবিল তৈরি করুন;
সার্জারির dbf বিন্যাস কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম কোথা থেকে ডেটা লোড করতে হবে। এটি স্থানীয় ফাইল, HTTP URL এবং জিপ সমর্থন করে
একই নামের একটি একক dbf ফাইল ধারণকারী ফাইল। একটি থেকে যেমন একটি জিপ ফাইল আনুন
HTTP ঠিকানা অবশ্যই সমর্থিত.
· সঙ্গে
থেকে লোড করার সময় ক DBF ফাইল, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা a ট্রানসেট PostgreSQL এর বিরুদ্ধে কমান্ড
ডাটা ফাইল পড়ার আগে টার্গেট টেবিল।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· সৃষ্টি টেবিল
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader মেটা ডেটা ব্যবহার করে টেবিল তৈরি করে
দ্য DBF ফাইল, যাতে তাদের ডেটা টাইপ সহ ক্ষেত্রগুলির একটি তালিকা থাকতে হবে। একটি মান
DBF থেকে PostgreSQL-এ ডেটা টাইপ রূপান্তর করা হয়।
· টেবিল নাম
এই বিকল্পগুলি তৈরি করার জন্য টেবিলের সম্ভাব্য যোগ্য নামের মান হিসাবে প্রত্যাশা করে।
বোঝা IXF
এই কমান্ডটি পিগ্লোডারকে একটি IBM থেকে ডেটা লোড করার নির্দেশ দেয় IXF ফাইল এখানে একটি উদাহরণ:
লোড IXF
ডেটা/nsitra.test1.ixf থেকে
INTO postgresql:///pgloader?nsitra.test1
ছাঁটা দিয়ে, টেবিল তৈরি করুন
লোড করার আগে করবেন
$$ স্কিমা তৈরি করুন যদি না থাকে nsitra; $$,
$$ ড্রপ টেবিল যদি বিদ্যমান থাকে nsitra.test1; $$;
সার্জারির ixf বিন্যাস কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম কোথা থেকে ডেটা লোড করতে হবে। এটি স্থানীয় ফাইল, HTTP URL এবং জিপ সমর্থন করে
একই নামের একটি একক ixf ফাইল ধারণকারী ফাইল। একটি থেকে যেমন একটি জিপ ফাইল আনুন
HTTP ঠিকানা অবশ্যই সমর্থিত.
· সঙ্গে
থেকে লোড করার সময় ক IXF ফাইল, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা a ট্রানসেট PostgreSQL এর বিরুদ্ধে কমান্ড
ডাটা ফাইল পড়ার আগে টার্গেট টেবিল।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· সৃষ্টি টেবিল
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader মেটা ডেটা ব্যবহার করে টেবিল তৈরি করে
দ্য DBF ফাইল, যাতে তাদের ডেটা টাইপ সহ ক্ষেত্রগুলির একটি তালিকা থাকতে হবে। একটি মান
DBF থেকে PostgreSQL-এ ডেটা টাইপ রূপান্তর করা হয়।
· টেবিল নাম
এই বিকল্পগুলি তৈরি করার জন্য টেবিলের সম্ভাব্য যোগ্য নামের মান হিসাবে প্রত্যাশা করে।
বোঝা সংরক্ষণাগার
এই কমান্ডটি একটিতে থাকা এক বা একাধিক ফাইল থেকে ডেটা লোড করার জন্য পিগ্লোডারকে নির্দেশ দেয়
সংরক্ষণাগার বর্তমানে একমাত্র সমর্থিত আর্কাইভ ফরম্যাট জিপ, এবং সংরক্ষণাগার হতে পারে
একটি থেকে ডাউনলোড করা হয়েছে HTTP- র URL টি।
এখানে একটি উদাহরণ:
সংরক্ষণাগার লোড
/Users/dim/Downloads/GeoLiteCity-latest.zip থেকে
INTO postgresql:///ip4r
লোড করার আগে
ip4r না থাকলে $$ এক্সটেনশন তৈরি করুন; $$,
জিওলাইট না থাকলে $$ স্কিমা তৈরি করুন; $$,
'geolite.sql' চালান
CSV লোড করুন
FILENAME ম্যাচিং থেকে ~/GeoLiteCity-Location.csv/
এনকোডিং iso-8859-1 সহ
(
locId,
দেশ,
খালি থাকলে অঞ্চল শূন্য,
ফাঁকা থাকলে শহর নাল,
পোস্টালকোড শূন্য থাকলে,
অক্ষাংশ,
দ্রাঘিমাংশ,
ফাঁকা থাকলে মেট্রোকোড নাল,
এলাকাকোড ফাঁকা থাকলে নাল
)
INTO postgresql:///ip4r?geolite.location
(
অবস্থান, দেশ, অঞ্চল, শহর, পোস্টাল কোড,
অবস্থান বিন্দু ব্যবহার করে (ফরম্যাট শূন্য "(~a, ~a)" দ্রাঘিমাংশ অক্ষাংশ),
মেট্রোকোড, এলাকা কোড
)
স্কিপ হেডারের সাথে = 2,
ঐচ্ছিকভাবে ´"´ দ্বারা আবদ্ধ ক্ষেত্র,
ক্ষেত্রগুলি দ্বি-উদ্ধৃতি দ্বারা পালিয়ে গেছে,
',' দ্বারা সমাপ্ত ক্ষেত্র
এবং CSV লোড করুন
FILENAME ম্যাচিং থেকে ~/GeoLiteCity-Blocks.csv/
এনকোডিং iso-8859-1 সহ
(
startIpNum, endIpNum, locId
)
postgresql:///ip4r?geolite.blocks INTO
(
iprange ip4r ব্যবহার করে (ip-range startIpNum endIpNum),
locId
)
স্কিপ হেডারের সাথে = 2,
ঐচ্ছিকভাবে ´"´ দ্বারা আবদ্ধ ক্ষেত্র,
ক্ষেত্রগুলি দ্বি-উদ্ধৃতি দ্বারা পালিয়ে গেছে,
',' দ্বারা সমাপ্ত ক্ষেত্র
অবশেষে করবেন
$$ gist(iprange) ব্যবহার করে geolite.blocks-এ index blocks_ip4r_idx তৈরি করুন; $$;
সার্জারির সংরক্ষণাগার কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
ফাইলের নাম বা HTTP URI কোথা থেকে ডেটা লোড করতে হবে। একটি HTTP URL দেওয়া হলে লিঙ্ক করা হয়
ফাইল প্রক্রিয়াকরণের আগে স্থানীয়ভাবে ডাউনলোড করা হবে।
যদি ফাইলটি ক ফ্যাস্ শব্দ ফাইল, কমান্ড লাইন ইউটিলিটি আনজিপ প্রসারিত করতে ব্যবহৃত হয়
ফাইলগুলিতে আর্কাইভ করুন $TMPDIR, বা / tmp -র পরিবর্তে if $TMPDIR আনসেট বা একটি অ-বিদ্যমান সেট করা হয়
ডিরেক্টরি.
তারপর আর্কাইভ যেখানে শীর্ষ স্তরের ডিরেক্টরি থেকে নিম্নলিখিত কমান্ড ব্যবহার করা হয়
প্রসারিত করা হয়েছে।
আদেশ [ এবং আদেশ ...]
এই মুহূর্তে শুধুমাত্র আর্কাইভের বিষয়বস্তুর বিরুদ্ধে কমান্ডের একটি সিরিজ
CSV তে,'স্থির এবং DBF কমান্ড সমর্থিত হয়।
নোট করুন যে কমান্ডগুলি ধারাটিকে সমর্থন করছে থেকে ফাইল ফাইল ম্যাচিং যা অনুমতি দেয়
pgloader কমান্ড সংরক্ষণাগার ডিরেক্টরির সঠিক নামের উপর নির্ভর না করে।
একই ধারাটি বানান ব্যবহার করে বেশ কয়েকটি ফাইলে প্রয়োগ করা যেতে পারে থেকে সব
ফাইলের নাম ম্যাচিং এবং একটি নিয়মিত অভিব্যক্তি।
সমগ্র ম্যাচিং অনুচ্ছেদ নিম্নলিখিত নিয়ম অনুসরণ করা আবশ্যক:
থেকে [ সমস্ত ফাইলের নাম | [ প্রথম ] ফাইলের নাম ] ম্যাচিং৷
· অবশেষে DO
ডেটা লোড হয়ে গেলে এসকিউএল কোয়েরি চালানো হবে, যেমন তৈরি করুন এর INDEX.
বোঝা মাইএসকিউএল ডেটাবেস
এই কমান্ডটি একটি ডাটাবেস সংযোগ থেকে ডেটা লোড করার জন্য পিগ্লোডারকে নির্দেশ দেয়। একমাত্র
সমর্থিত ডাটাবেস উৎস বর্তমানে মাইএসকিউএল, এবং pgloader গতিশীলভাবে রূপান্তর সমর্থন করে
সোর্স ডাটাবেসের স্কিমা এবং ইনডেক্স বিল্ডিং।
ঢালাই নিয়মের একটি ডিফল্ট সেট প্রদান করা হয় এবং ওভারলোড করা এবং সংযুক্ত করা হতে পারে
কমান্ড।
এখানে একটি উদাহরণ:
ডেটাবেস লোড করুন
মাইএসকিউএল থেকে:// রুট@localhost/সাকিলা
INTO postgresql://localhost:54393/sakila
সাথে ড্রপ অন্তর্ভুক্ত করুন, টেবিল তৈরি করুন, সূচী তৈরি করুন, সিকোয়েন্স রিসেট করুন
রক্ষণাবেক্ষণ_কাজ_মেমকে ´128MB' এ সেট করুন,
work_mem থেকে ´12MB',
'সাকিলা'-এর_পথ অনুসন্ধান করুন
CAST টাইপ ডেটটাইম থেকে টাইমস্ট্যাম্পটজ ড্রপ ডিফল্ট ড্রপ শূন্য-তারিখ-টু-নাল ব্যবহার করে শূন্য নয়,
টাইপ ডেট ড্রপ না নাল ড্রপ ডিফল্ট ব্যবহার করে শূন্য-তারিখ-টু-নাল,
-- tinyint থেকে বুলিয়ান ব্যবহার করে tinyint থেকে বুলিয়ান টাইপ করুন,
পূর্ণসংখ্যা থেকে বছর টাইপ করুন
ফিল্ম_লিস্ট, স্টাফ_লিস্ট দেখুন
-- শুধুমাত্র টেবিলের নাম মিলে যাওয়া সহ ~/চলচ্চিত্র/, 'অভিনেতা'
-- টেবিলের নামের মিল বাদ দিয়ে ~
-- ডিকোডিং টেবিলের নাম মিলছে ~/জলানো/, ~/এনকোডিং/ AS utf8
লোড করার আগে করবেন
সাকিলা না থাকলে $$ স্কিমা তৈরি করুন; $$;
সার্জারির ডাটাবেজ কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
একটি MySQL ডাটাবেসের দিকে নির্দেশ করে একটি সংযোগ URL হতে হবে৷ এই মুহূর্তে শুধুমাত্র MySQL আছে
একটি pgloader উৎস হিসাবে সমর্থিত.
সংযোগ URI তে একটি টেবিলের নাম থাকলে, শুধুমাত্র এই টেবিলটি থেকে স্থানান্তরিত হয়
MySQL থেকে PostgreSQL।
· সঙ্গে
থেকে লোড করার সময় ক মাইএসকিউএল ডাটাবেস, নিম্নলিখিত অপশন সমর্থিত, এবং
ইফল্ট সঙ্গে ধারা হল: না। কাটা, সৃষ্টি টেবিল, অন্তর্ভুক্ত করা ঝরা, সৃষ্টি ইনডেক্স, রিসেট
সিকোয়েন্স, বিদেশী কী, ডাউনকেস সনাক্তকারী.
সঙ্গে বিকল্প:
· অন্তর্ভুক্ত করা ঝরা
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader টার্গেট PostgreSQL-এ সমস্ত টেবিল ফেলে দেয়
ডাটাবেস যার নাম SQLite ডাটাবেসে উপস্থিত হয়। এই বিকল্পটি ব্যবহার করার অনুমতি দেয়
যতক্ষণ না আপনি শুরু করে সমস্ত বিকল্প খুঁজে বের করেন ততক্ষণ একই কমান্ড পরপর কয়েকবার
স্বয়ংক্রিয়ভাবে একটি পরিষ্কার পরিবেশ থেকে। দয়া করে মনে রাখবেন ক্যাসকেড নিশ্চিত করতে ব্যবহৃত হয়
বিদেশী কী তাদের দিকে নির্দেশ করলেও যে টেবিলগুলি বাদ দেওয়া হয়। এই
অবিকল কি অন্তর্ভুক্ত করা ঝরা করার উদ্দেশ্যে করা হয়েছে: সমস্ত টার্গেট টেবিল ফেলে দিন এবং পুনরায় তৈরি করুন
তাদের.
ব্যবহার করার সময় খুব যত্ন নেওয়া প্রয়োজন অন্তর্ভুক্ত করা ঝরা, এটা ক্যাসকেড হবে হিসাবে সব
লক্ষ্য সারণী উল্লেখ করা বস্তু, সম্ভবত অন্যান্য সারণি যা নয়
সোর্স ডিবি থেকে লোড করা হচ্ছে।
· অন্তর্ভুক্ত করা না। ঝরা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader কোনো অন্তর্ভুক্ত করবে না ড্রপ লোড করার সময় বিবৃতি
তথ্যটি.
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader ইস্যু করে ট্রানসেট প্রত্যেকের বিরুদ্ধে আদেশ
PostgreSQL টেবিলে ডাটা লোড করার ঠিক আগে।
· না। কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা নং ট্রানসেট কমান্ড।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· সৃষ্টি টেবিল
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader মেটা ডেটা ব্যবহার করে টেবিল তৈরি করে
দ্য মাইএসকিউএল ফাইল, যাতে তাদের ডেটা টাইপ সহ ক্ষেত্রগুলির একটি তালিকা থাকতে হবে। একটি মান
DBF থেকে PostgreSQL-এ ডেটা টাইপ রূপান্তর করা হয়।
· সৃষ্টি না। টেবিল
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader ডেটা লেড করার আগে টেবিল তৈরি করা ছেড়ে দেয়,
লক্ষ্য টেবিল তাহলে ইতিমধ্যেই বিদ্যমান থাকতে হবে।
· সৃষ্টি ইনডেক্স
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader পাওয়া সমস্ত সূচির সংজ্ঞা পায়
MySQL ডাটাবেস এবং PostgreSQL এর বিপরীতে সূচক সংজ্ঞার একই সেট তৈরি করুন
ডাটাবেস।
· সৃষ্টি না। ইনডেক্স
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সূচী তৈরি করা এড়িয়ে যায়।
· স্বতন্ত্র করা সূচক নাম, বাঁচাইয়া রাখা সূচক নাম
MySQL সূচক নামগুলি প্রতি-টেবিল অনন্য যেখানে PostgreSQL সূচকের নামগুলি হতে হবে
অনন্য প্রতি স্কিমা। pgloader-এর জন্য ডিফল্ট হল প্রিফিক্সিং দ্বারা সূচকের নাম পরিবর্তন করা
ইহার সাথে idx_OID কোথায় ওআইডি সূচীটি টেবিলের অভ্যন্তরীণ সংখ্যাসূচক শনাক্তকারী
বিরুদ্ধে নির্মিত।
কিছু ক্ষেত্রে যেমন DDL সম্পূর্ণরূপে একটি কাঠামোতে ছেড়ে দেওয়া হয় তখন এটি বোধগম্য হতে পারে
pgloader সূচক অনন্য নাম পরিচালনা করা থেকে বিরত থাকার জন্য, যা ব্যবহার করে অর্জন করা হয়
দ্য বাঁচাইয়া রাখা সূচক নাম বিকল্প।
ডিফল্ট হল স্বতন্ত্র করা সূচক নাম.
এমনকি বিকল্প ব্যবহার করার সময় বাঁচাইয়া রাখা সূচক নাম, MySQL প্রাথমিক কী সূচী নামকরণ করা হয়েছে
"প্রাথমিক" তাদের নাম অযোগ্য হবে। তা করতে ব্যর্থ হলে প্রাথমিক প্রতিরোধ হবে
PostgreSQL-এ আবার কী তৈরি করতে হবে যেখানে প্রতি সূচকের নামগুলি অবশ্যই অনন্য হতে হবে
স্কিমা
· বিদেশী কী
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্ত বিদেশী কীগুলির সংজ্ঞা পায়
MySQL ডাটাবেসে পাওয়া যায় এবং বিদেশী কী সংজ্ঞাগুলির একই সেট তৈরি করে
PostgreSQL ডাটাবেস।
· না। বিদেশী কী
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader বিদেশী কী তৈরি করা এড়িয়ে যায়।
· রিসেট সিকোয়েন্স
এই বিকল্পটি তালিকাভুক্ত হলে, ডেটা লোড হওয়ার শেষে এবং সূচীগুলির পরে
সবগুলি তৈরি করা হয়েছে, pgloader বর্তমানের জন্য তৈরি করা সমস্ত PostgreSQL সিকোয়েন্স রিসেট করে
তারা যে কলামের সাথে সংযুক্ত থাকে তার সর্বোচ্চ মান।
বিকল্পগুলি পরিকল্পনা কেবল এবং উপাত্ত কেবল এই বিকল্পের উপর কোন প্রভাব নেই।
· রিসেট না। সিকোয়েন্স
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader লোডের পরে সিকোয়েন্স রিসেট করা এড়িয়ে যায়।
বিকল্পগুলি পরিকল্পনা কেবল এবং উপাত্ত কেবল এই বিকল্পের উপর কোন প্রভাব নেই।
· ডাউনকেস সনাক্তকারী
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সকল MySQL শনাক্তকারীকে রূপান্তর করে (টেবিলের নাম,
ইনডেক্সের নাম, কলামের নাম) থেকে ডাউনকেস, PostgreSQL ছাড়া সংরক্ষিত কীওয়ার্ড।
পোস্টগ্রেএসকিউএল সংরক্ষিত সিস্টেম ব্যবহার করে কীওয়ার্ডগুলি গতিশীলভাবে নির্ধারিত হয়
ক্রিয়া pg_get_keywords().
· উদ্ধৃতি সনাক্তকারী
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader সমস্ত MySQL শনাক্তকারীকে উদ্ধৃত করে যাতে তাদের ক্ষেত্রে
সম্মান করা হয়। মনে রাখবেন যে আপনাকে আপনার আবেদনে একই জিনিস করতে হবে
কোড প্রশ্ন।
· পরিকল্পনা কেবল
এই বিকল্পটি তালিকাভুক্ত হলে পিগ্লোডার ডেটা স্থানান্তর করা থেকে বিরত থাকে। মনে রাখবেন যে
এই প্রসঙ্গে স্কিমা সূচী অন্তর্ভুক্ত যখন বিকল্প সৃষ্টি ইনডেক্স হয়েছে
তালিকাভুক্ত করা হয়েছে।
· উপাত্ত কেবল
যখন এই বিকল্পটি তালিকাভুক্ত হয় তখন pgloader শুধুমাত্র ইস্যু করে অনুলিপি বিবৃতি, কোন কাজ ছাড়া
অন্যান্য প্রক্রিয়াকরণ।
· CAST
কাস্ট ক্লজ কাস্টম কাস্টিং নিয়ম নির্দিষ্ট করতে দেয়, হয় ডিফল্ট ওভারলোড করতে
কাস্টিং নিয়ম বা বিশেষ ক্ষেত্রে তাদের সংশোধন করতে.
একটি ঢালাই নিয়ম ফর্মগুলির একটি অনুসরণ করবে বলে আশা করা হচ্ছে:
প্রকার [ ... ] প্রতি [ ...]
কলাম . [ ] প্রতি ...
এটি একটি জন্য সম্ভব ঢালাই নিয়ম হয় একটি MySQL ডাটা টাইপের সাথে বা a এর সাথে মেলে
প্রদত্ত স্তম্ভ নাম একটি প্রদত্ত মধ্যে টেবিল নাম. যে নমনীয়তা মামলা যেখানে মোকাবেলা করতে পারবেন
এই রকম tinyint একটি হিসাবে ব্যবহৃত হতে পারে বুলিয়ান কিছু ক্ষেত্রে কিন্তু একটি হিসাবে ক্ষুদ্র ক্ষুদ্র অংশ in
অন্যদের।
সার্জারির ঢালাই নিয়ম ক্রমানুসারে প্রয়োগ করা হয়, প্রথম ম্যাচটি নিম্নলিখিত নিয়মগুলি হতে বাধা দেয়
প্রয়োগ করা হয়, এবং ব্যবহারকারীর সংজ্ঞায়িত নিয়মগুলি প্রথমে মূল্যায়ন করা হয়।
সমর্থিত রক্ষীরা হল:
· কখন ডিফল্ট 'মান'
ঢালাই নিয়ম শুধুমাত্র MySQL কলামের জন্য প্রয়োগ করা হয় যেগুলির উৎস প্রকারের আছে
প্রদত্ত মূল্য, যা অবশ্যই একটি একক-উদ্ধৃত বা একটি দ্বি-উদ্ধৃত স্ট্রিং হতে হবে।
· কখন টাইপমোড অভিব্যক্তি
ঢালাই নিয়ম শুধুমাত্র মাইএসকিউএল কলামের ক্ষেত্রে প্রয়োগ করা হয় যেটির উৎস ধরনের a আছে
টাইপমোড প্রদত্ত মান মেলে টাইপমোড অভিব্যক্তি. দ্য টাইপমোড এর মধ্যে বিভক্ত করা হয়
স্পষ্টতা এবং স্কেল উপাদান।
একটি ব্যবহার করে একটি ঢালাই নিয়মের উদাহরণ টাইপমোড প্রহরী:
টাইপ char when (= precision 1) char Keep typemod
এই অভিব্যক্তি MySQL cast করে গৃহস্থালির কাজ(1) টাইপের পোস্টগ্রেএসকিউএল কলামে কলাম গৃহস্থালির কাজ(1) যখন
সাধারণ মামলার জন্য অনুমতি দেয় চর(N) ডিফল্ট কাস্ট নিয়ম দ্বারা a এ রূপান্তরিত হবে
PostgreSQL প্রকার varchar(N).
· সঙ্গে অতিরিক্ত স্বয়ং বৃদ্ধি
ঢালাই নিয়ম শুধুমাত্র MySQL কলামের বিরুদ্ধে প্রয়োগ করা হয় অতিরিক্ত স্তম্ভ
স্বয়ং বৃদ্ধি বিকল্প সেট, যাতে লক্ষ্য করা সম্ভব হয় যেমন ক্রমিক বরং
পূর্ণসংখ্যা.
ডিফল্ট ম্যাচিং আচরণ, যখন এই বিকল্পটি সেট করা হয় না, তখন উভয় কলামের সাথে মেলে
অতিরিক্ত সংজ্ঞা সহ এবং ছাড়া।
এর মানে হল যে যদি আপনি একটি কাস্টিং নিয়ম বাস্তবায়ন করতে চান যে লক্ষ্য ক্রমিক or
পূর্ণসংখ্যা একটি থেকে ক্ষুদ্র ক্ষুদ্র অংশ এর উপর নির্ভর করে সংজ্ঞা স্বয়ং বৃদ্ধি অতিরিক্ত বিট
MySQL থেকে তথ্য, তারপর আপনাকে নিম্নলিখিত হিসাবে দুটি কাস্টিং নিয়ম বানান করতে হবে:
অতিরিক্ত auto_increment সহ smallint টাইপ করুন
সিরিয়াল ড্রপ করতে টাইপমড ডিফল্ট রাখুন নাল না রাখুন,
ছোট ছোট টাইপ করুন
পূর্ণসংখ্যা ড্রপ করতে টাইপমোড ডিফল্ট রাখুন নাল না রাখুন
সমর্থিত কাস্টিং বিকল্পগুলি হল:
· ঝরা ডিফল্ট, রাখা ডিফল্ট
যখন বিকল্প ঝরা ডিফল্ট তালিকাভুক্ত, pgloader কোনো বিদ্যমান ডিফল্ট অভিব্যক্তি ড্রপ
থেকে উৎস প্রকারের কলামের জন্য মাইএসকিউএল ডাটাবেসে তৈরি করুন সারণী বিবৃতি
এটা উৎপন্ন করে।
বানানটি রাখা ডিফল্ট স্পষ্টভাবে যে আচরণ প্রতিরোধ করে এবং ব্যবহার করা যেতে পারে
ডিফল্ট ঢালাই নিয়ম ওভারলোড.
· ঝরা না অকার্যকর, রাখা না অকার্যকর
যখন বিকল্প ঝরা না অকার্যকর তালিকাভুক্ত, pgloader কোনো বিদ্যমান ড্রপ না শূন্য
প্রদত্ত উত্স MySQL ডেটাটাইপের সাথে যুক্ত সীমাবদ্ধতা যখন এটি টেবিল তৈরি করে
PostgreSQL ডাটাবেসে।
বানানটি রাখা না অকার্যকর স্পষ্টভাবে যে আচরণ প্রতিরোধ করে এবং ব্যবহার করা যেতে পারে
ডিফল্ট ঢালাই নিয়ম ওভারলোড.
· ঝরা টাইপমোড, রাখা টাইপমোড
যখন বিকল্প ঝরা টাইপমোড তালিকাভুক্ত, pgloader কোনো বিদ্যমান ড্রপ টাইপমোড সংজ্ঞা
(যেমন স্পষ্টতা এবং স্কেল) এর MySQL কলামে পাওয়া ডেটাটাইপ সংজ্ঞা থেকে
পোস্টগ্রেএসকিউএল ডাটাবেসে টেবিল তৈরি করার সময় উৎসের ধরন।
বানানটি রাখা টাইপমোড স্পষ্টভাবে যে আচরণ প্রতিরোধ করে এবং ব্যবহার করা যেতে পারে
ডিফল্ট ঢালাই নিয়ম ওভারলোড.
· ব্যবহার
এই বিকল্পটি তার একক যুক্তি হিসাবে একটি ফাংশনের নামটি তে পাওয়া যায়
pgloader.transforms সাধারণ লিস্প প্যাকেজ। বিস্তারিত জানার জন্য উপরে দেখুন.
এটি একটি ডিফল্ট কাস্ট নিয়ম বৃদ্ধি করা সম্ভব (যেমন একটি যে বিরুদ্ধে প্রযোজ্য ENUM
যেমন ডাটা টাইপ) সঙ্গে a পরিবর্তন ক্রিয়া সম্পূর্ণভাবে বাদ দিয়ে আদর্শ
ঢালাই নিয়মের অংশগুলি, নিম্নলিখিত উদাহরণের মতো:
empty-string-to-null ব্যবহার করে কলাম enumerate.foo
· বস্তুগত VIEWS বার
এই ধারাটি আপনাকে ডেটা উৎসে কাস্টম ডেটা প্রসেসিং বাস্তবায়ন করতে দেয়
সরবরাহ করা দৃশ্য সংজ্ঞা যার বিরুদ্ধে pgloader ডেটা জিজ্ঞাসা করবে। এটা না
শুধু প্লেইন জন্য অনুমতি দেওয়া সম্ভব এসকিউএল কারণ আমরা সঠিক সম্পর্কে অনেক কিছু জানতে চাই
ক্যোয়ারী আউটপুটে জড়িত প্রতিটি কলামের ডেটা প্রকার।
এই ধারাটি দৃশ্য সংজ্ঞাগুলির একটি কমা দ্বারা বিভক্ত তালিকা আশা করে, প্রত্যেকটি হয়
আপনার ডাটাবেসের একটি বিদ্যমান দৃশ্যের নাম বা নিম্নলিখিত অভিব্যক্তি:
নাম AS $$ SQL প্রশ্ন $$
সার্জারির নাম এবং শীর্ষ XNUMX গ্লোবাল HR এক্সিলেন্স অ্যাওয়ার্ডের SQL প্রশ্ন একটি ব্যবহার করা হবে তৈরি করুন দেখুন এর শুরুতে বিবৃতি
ডেটা লোড হচ্ছে, এবং ফলস্বরূপ ভিউ ডেটার শেষে বাদ দেওয়া হবে
লোড হচ্ছে।
· বস্তুগত সব VIEWS বার
হিসাবে একই আচরণ বস্তুগত VIEWS বার প্রত্যাবর্তিত ভিউগুলির গতিশীল তালিকা ব্যবহার করে
ব্যবহারকারীকে তালিকা নির্দিষ্ট করতে বলার পরিবর্তে MySQL.
· সুদ্ধ কেবল সারণী নামস ম্যাচিং
টেবিলের নামের একটি কমা দ্বারা বিভক্ত তালিকা প্রবর্তন করুন বা নিয়মিত অভিব্যক্তি সীমাবদ্ধ করতে ব্যবহৃত
সাবলিস্টে স্থানান্তরিত করার জন্য টেবিল।
উদাহরণ:
শুধুমাত্র টেবিলের নাম মিলে যাওয়া সহ ~/চলচ্চিত্র/, 'অভিনেতা'
· বাদ সারণী নামস ম্যাচিং
টেবিলের নামের একটি কমা দ্বারা বিভক্ত তালিকা প্রবর্তন করুন বা নিয়মিত অভিব্যক্তি বাদ দিতে ব্যবহৃত
মাইগ্রেশন থেকে টেবিলের নাম। এই ফিল্টার শুধুমাত্র ফলাফল প্রযোজ্য
সুদ্ধ ছাঁকনি.
টেবিলের নামগুলি বাদ দিয়ে মিলছে ~৷
· ডিকোডিং সারণী নামস ম্যাচিং
টেবিলের নামের একটি কমা দ্বারা বিভক্ত তালিকা প্রবর্তন করুন বা নিয়মিত এক্সপ্রেশন জোর করতে ব্যবহৃত
MySQL থেকে ডেটা প্রক্রিয়া করার সময় ব্যবহার করার জন্য এনকোডিং। যদি ডেটা এনকোডিং আপনার জানা থাকে
এটি সম্পর্কে MySQL এর ধারণা থেকে ভিন্ন, এটি ব্যবহার করার বিকল্প।
ডিকোডিং টেবিলের নাম মিলছে ~/জলানো/, ~/এনকোডিং/ AS utf8
আপনি যতগুলি প্রয়োজন ততগুলি নিয়ম ব্যবহার করতে পারেন, সবগুলি সম্ভবত বিভিন্ন এনকোডিং সহ।
সীমাবদ্ধতা
সার্জারির ডাটাবেজ কমান্ড বর্তমানে শুধুমাত্র MySQL উৎস ডাটাবেস সমর্থন করে এবং নিম্নলিখিত আছে
সীমাবদ্ধতা:
· ভিউ স্থানান্তরিত হয় না,
সমর্থনমূলক দৃশ্যের জন্য MySQL উপভাষার জন্য একটি সম্পূর্ণ SQL পার্সার প্রয়োগ করতে হতে পারে
পুনঃনামকরণ সহ, PostgreSQL এর বিপরীতে SQL পুনরায় লেখার জন্য একটি পোর্টিং ইঞ্জিন সহ
ফাংশন এবং কিছু গঠন পরিবর্তন.
যদিও এটি তাত্ত্বিকভাবে অসম্ভব নয়, আপনার শ্বাস ধরে রাখবেন না।
ট্রিগার স্থানান্তরিত হয় না
এটি করার অসুবিধা এখনও মূল্যায়ন করা হয়নি।
· ON হালনাগাদ CURRENT_TIMESTAMP বর্তমানে স্থানান্তরিত হয় না
এটি বাস্তবায়নের জন্য যথেষ্ট সহজ, এখনও অগ্রাধিকার তালিকায় নেই।
· জ্যামিতিক ডেটাটাইপগুলির মধ্যে, শুধুমাত্র পয়েন্ট ডাটাবেস কভার করা হয়েছে. অন্যজন
এখন বাস্তবায়ন করা যথেষ্ট সহজ হওয়া উচিত, এটি এখনও করা হয়নি।
ডিফল্ট মাইএসকিউএল ঢালাই বিধি
মাইএসকিউএল থেকে মাইগ্রেট করার সময় নিম্নলিখিত কাস্টিং নিয়মগুলি প্রদান করা হয়:
নাম্বার:
সিরিয়ালে অতিরিক্ত স্বয়ংক্রিয় বৃদ্ধি সহ int লিখুন যখন (< নির্ভুলতা 10)
· বড় সিরিয়ালে অতিরিক্ত অটো_ইনক্রিমেন্ট সহ int টাইপ করুন যখন (<= 10 নির্ভুলতা)
· int থেকে int লিখুন যখন (< নির্ভুলতা 10)
· বিগইন্টে int টাইপ করুন যখন (<= 10 নির্ভুলতা)
· সিরিয়ালে অতিরিক্ত অটো_ইনক্রিমেন্ট সহ tinyint টাইপ করুন
· সিরিয়ালে অতিরিক্ত স্বয়ংক্রিয় বৃদ্ধি সহ ছোট ছোট টাইপ করুন
· সিরিয়ালে অতিরিক্ত অটো_ইনক্রিমেন্ট সহ মিডিয়ামিন্ট টাইপ করুন
· বড় সিরিয়ালে অতিরিক্ত অটো_ইনক্রিমেন্ট সহ বিগইন্ট টাইপ করুন
tinyint থেকে বুলিয়ান ব্যবহার করার সময় (= 1 নির্ভুলতা) tinyint থেকে বুলিয়ান টাইপ করুন
টাইপ করুন tinyint থেকে smallint drop typemod
· টাইপ করুন ছোট থেকে ছোট ছোট ড্রপ টাইপমোড
· টাইপ মিডিয়ামিন্ট থেকে ইন্টিজার ড্রপ টাইপমোড
ইন্টিজার থেকে ইন্টিজার ড্রপ টাইপমোড টাইপ করুন
· টাইপ ফ্লোট টু ফ্লোট ড্রপ টাইপমোড
· টাইপ bigint থেকে bigint ড্রপ typemod
· টাইপ ডবল থেকে ডবল নির্ভুলতা ড্রপ typemod
· টাইপ সাংখ্যিক থেকে সাংখ্যিক Keep typemod
দশমিক থেকে দশমিক টাইপ করুন টাইপমোড
পাঠ্য:
· টাইপ char to varchar টাইপমোড রাখুন
· টেক্সটে varchar টাইপ করুন
টেক্সট থেকে tinytext টাইপ করুন
· পাঠ্য থেকে পাঠ্য টাইপ করুন
· টেক্সটে মিডিয়াম টেক্সট টাইপ করুন
· টেক্সটে লংটেক্সট টাইপ করুন
বাইনারি:
টাইপ বাইনারি থেকে বাইট
টাইপ varbinary থেকে bytea
বাইট থেকে tinyblob টাইপ করুন
বাইট থেকে ব্লব টাইপ করুন
বাইট থেকে মিডিয়ামব্লব টাইপ করুন
বাইট থেকে লংব্লব টাইপ করুন
তারিখ:
· ডিফল্ট হলে তারিখ সময় টাইপ করুন "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 to timestamptz
টাইমস্ট্যাম্প থেকে টাইমস্ট্যাম্পটজ টাইপ করুন
· টাইপ বছর থেকে ইন্টিজার ড্রপ টাইপমোড
জ্যামিতিক:
pgloader.transforms::convert-mysql-পয়েন্ট ব্যবহার করে পয়েন্ট টু পয়েন্ট টাইপ করুন
Enum প্রকারগুলি MySQL-এ ইনলাইন ঘোষণা করা হয় এবং আলাদাভাবে a দিয়ে তৈরি করুন প্রকার আদেশ
PostgreSQL, তাই Enum টাইপের প্রতিটি কলাম টেবিলের নাম অনুসারে একটি টাইপে রূপান্তরিত হয় এবং
একই ক্রমে একই লেবেল দিয়ে সংজ্ঞায়িত কলামের নাম।
যখন উত্স প্রকারের সংজ্ঞা ডিফল্ট ঢালাই নিয়মে বা এর মধ্যে মেলে না
কাস্টিং নিয়ম কমান্ডে দেওয়া আছে, তারপর টাইপমড সহ টাইপ নাম ব্যবহার করা হয়।
বোঝা SQLite ডেটাবেস
এই কমান্ডটি পিগ্লোডারকে একটি SQLite ফাইল থেকে ডেটা লোড করার নির্দেশ দেয়। এর স্বয়ংক্রিয় আবিষ্কার
সূচী নির্মাণ সহ স্কিমা সমর্থিত।
এখানে একটি উদাহরণ:
লোড ডাটাবেস
sqlite:///Users/dim/Downloads/lastfm_tags.db থেকে
postgresql:///tags-এ
অন্তর্ভুক্ত ড্রপ সহ, টেবিল তৈরি করুন, সূচী তৈরি করুন, সিকোয়েন্স রিসেট করুন
work_mem কে ´16MB', রক্ষণাবেক্ষণ_work_mem কে ´512 MB' এ সেট করুন;
সার্জারির স্ক্লাইট কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
একটি SQLite ফাইলের পাথ বা HTTP URL, একটি হতে পারে .zip ফাইল.
· সঙ্গে
থেকে লোড করার সময় ক SQLite ডাটাবেস, নিম্নলিখিত বিকল্পগুলি সমর্থিত:
থেকে লোড করার সময় ক SQLite ডাটাবেস, নিম্নলিখিত অপশন সমর্থিত, এবং
ডিফল্ট সঙ্গে ধারা হল: না। কাটা, সৃষ্টি টেবিল, অন্তর্ভুক্ত করা ঝরা, সৃষ্টি ইনডেক্স,
রিসেট সিকোয়েন্স, ডাউনকেস সনাক্তকারী, এনকোডিং 'UTF-8'.
· অন্তর্ভুক্ত করা ঝরা
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader টার্গেট PostgreSQL-এ সমস্ত টেবিল ফেলে দেয়
ডাটাবেস যার নাম SQLite ডাটাবেসে উপস্থিত হয়। এই বিকল্পটি ব্যবহার করার অনুমতি দেয়
যতক্ষণ না আপনি শুরু করে সমস্ত বিকল্প খুঁজে বের করেন ততক্ষণ একই কমান্ড পরপর কয়েকবার
স্বয়ংক্রিয়ভাবে একটি পরিষ্কার পরিবেশ থেকে। দয়া করে মনে রাখবেন ক্যাসকেড নিশ্চিত করতে ব্যবহৃত হয়
বিদেশী কী তাদের দিকে নির্দেশ করলেও যে টেবিলগুলি বাদ দেওয়া হয়। এই
অবিকল কি অন্তর্ভুক্ত করা ঝরা করার উদ্দেশ্যে করা হয়েছে: সমস্ত টার্গেট টেবিল ফেলে দিন এবং পুনরায় তৈরি করুন
তাদের.
ব্যবহার করার সময় খুব যত্ন নেওয়া প্রয়োজন অন্তর্ভুক্ত করা ঝরা, এটা ক্যাসকেড হবে হিসাবে সব
লক্ষ্য সারণী উল্লেখ করা বস্তু, সম্ভবত অন্যান্য সারণি যা নয়
সোর্স ডিবি থেকে লোড করা হচ্ছে।
· অন্তর্ভুক্ত করা না। ঝরা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader কোনো অন্তর্ভুক্ত করবে না ড্রপ লোড করার সময় বিবৃতি
তথ্যটি.
· কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader ইস্যু করে ট্রানসেট প্রত্যেকের বিরুদ্ধে আদেশ
PostgreSQL টেবিলে ডাটা লোড করার ঠিক আগে।
· না। কাটা
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সমস্যা নং ট্রানসেট কমান্ড।
· অক্ষম ট্রিগার
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader একটি ইস্যু করে পরিবর্তন সারণী ... অক্ষম TRIGGER বলুন সব
ডেটা অনুলিপি করার আগে PostgreSQL টার্গেট টেবিলের বিরুদ্ধে কমান্ড, তারপর কমান্ড
পরিবর্তন সারণী ... সক্ষম TRIGGER বলুন সব একদা অনুলিপি সমাপ্ত.
এই বিকল্পটি উপেক্ষা করে একটি পূর্ব-বিদ্যমান টেবিলে ডেটা লোড করার অনুমতি দেয় বিদেশী চাবি
সীমাবদ্ধতার এবং ব্যবহারকারী সংজ্ঞায়িত ট্রিগার এবং এর ফলে অবৈধ হতে পারে বিদেশী চাবি
সীমাবদ্ধতার ডেটা লোড হয়ে গেলে। যত্ন সহকারে ব্যবহার করুন।
· সৃষ্টি টেবিল
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader মেটা ডেটা ব্যবহার করে টেবিল তৈরি করে
দ্য SQLite ফাইল, যাতে তাদের ডেটা টাইপ সহ ক্ষেত্রগুলির একটি তালিকা থাকতে হবে। একটি মান
DBF থেকে PostgreSQL-এ ডেটা টাইপ রূপান্তর করা হয়।
· সৃষ্টি না। টেবিল
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader ডেটা লেড করার আগে টেবিল তৈরি করা ছেড়ে দেয়,
লক্ষ্য টেবিল তাহলে ইতিমধ্যেই বিদ্যমান থাকতে হবে।
· সৃষ্টি ইনডেক্স
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader পাওয়া সমস্ত সূচির সংজ্ঞা পায়
SQLite ডাটাবেস এবং এর বিপরীতে সূচক সংজ্ঞার একই সেট তৈরি করুন
PostgreSQL ডাটাবেস।
· সৃষ্টি না। ইনডেক্স
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader সূচী তৈরি করা এড়িয়ে যায়।
· রিসেট সিকোয়েন্স
এই বিকল্পটি তালিকাভুক্ত হলে, ডেটা লোড হওয়ার শেষে এবং সূচীগুলির পরে
সবগুলি তৈরি করা হয়েছে, pgloader বর্তমানের জন্য তৈরি করা সমস্ত PostgreSQL সিকোয়েন্স রিসেট করে
তারা যে কলামের সাথে সংযুক্ত থাকে তার সর্বোচ্চ মান।
· রিসেট না। সিকোয়েন্স
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader লোডের পরে সিকোয়েন্স রিসেট করা এড়িয়ে যায়।
বিকল্পগুলি পরিকল্পনা কেবল এবং উপাত্ত কেবল এই বিকল্পের উপর কোন প্রভাব নেই।
· পরিকল্পনা কেবল
এই বিকল্পটি তালিকাভুক্ত হলে pgloader ডেটা স্থানান্তর করা থেকে বিরত থাকবে। বিঃদ্রঃ
যে এই প্রসঙ্গে স্কিমা সূচী অন্তর্ভুক্ত যখন বিকল্প সৃষ্টি ইনডেক্স
তালিকাভুক্ত করা হয়েছে।
· উপাত্ত কেবল
যখন এই বিকল্পটি তালিকাভুক্ত হয় তখন pgloader শুধুমাত্র ইস্যু করে অনুলিপি বিবৃতি, কোন কাজ ছাড়া
অন্যান্য প্রক্রিয়াকরণ।
· এনকোডিং
এই বিকল্পটি SQLite টেক্সট ডেটা পার্স করার জন্য কোন এনকোডিং নিয়ন্ত্রণ করতে দেয়।
UTF-8-এ ডিফল্ট।
· CAST
কাস্ট ক্লজ কাস্টম কাস্টিং নিয়ম নির্দিষ্ট করতে দেয়, হয় ডিফল্ট ওভারলোড করতে
কাস্টিং নিয়ম বা বিশেষ ক্ষেত্রে তাদের সংশোধন করতে.
বিস্তারিত জানার জন্য অনুগ্রহ করে MySQL CAST ক্লজ পড়ুন।
· সুদ্ধ কেবল সারণী নামস ম্যাচিং
টেবিলের নামের একটি কমা দ্বারা বিভক্ত তালিকা প্রবর্তন করুন বা নিয়মিত অভিব্যক্তি সীমাবদ্ধ করতে ব্যবহৃত
সাবলিস্টে স্থানান্তরিত করার জন্য টেবিল।
উদাহরণ:
শুধুমাত্র টেবিলের নাম মিলে যাওয়া সহ ~/চলচ্চিত্র/, 'অভিনেতা'
· বাদ সারণী নামস ম্যাচিং
টেবিলের নামের একটি কমা দ্বারা বিভক্ত তালিকা প্রবর্তন করুন বা নিয়মিত অভিব্যক্তি বাদ দিতে ব্যবহৃত
মাইগ্রেশন থেকে টেবিলের নাম। এই ফিল্টার শুধুমাত্র ফলাফল প্রযোজ্য
সুদ্ধ ছাঁকনি.
টেবিলের নামগুলি বাদ দিয়ে মিলছে ~৷
ডিফল্ট SQLite ঢালাই বিধি
SQLite থেকে স্থানান্তর করার সময় নিম্নলিখিত কাস্টিং নিয়মগুলি প্রদান করা হয়:
নাম্বার:
tinyint থেকে smallint টাইপ করুন
· বিগইন্টে পূর্ণসংখ্যা টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে ফ্লোট টু ফ্লোট টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে বাস্তব থেকে বাস্তব টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে ডাবল থেকে ডাবল নির্ভুলতা টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে সাংখ্যিক থেকে সংখ্যাসূচক টাইপ করুন
পাঠ্য:
টেক্সট ড্রপ টাইপমোড থেকে অক্ষর টাইপ করুন
টাইপ করুন varchar থেকে টেক্সট ড্রপ typemod
টাইপ করুন nvarchar থেকে টেক্সট ড্রপ typemod
টেক্সট ড্রপ টাইপমোড থেকে char টাইপ করুন
· টেক্সট ড্রপ টাইপমোড থেকে nchar টাইপ করুন
টাইপ করুন nvarchar থেকে টেক্সট ড্রপ typemod
· ক্লব থেকে টেক্সট ড্রপ টাইপমোড টাইপ করুন
বাইনারি:
বাইট থেকে ব্লব টাইপ করুন
তারিখ:
sqlite-টাইমস্ট্যাম্প-টু-টাইমস্ট্যাম্প ব্যবহার করে datetime থেকে timestamptz টাইপ করুন
sqlite-timestamp-to-timestamp ব্যবহার করে টাইমস্ট্যাম্প থেকে টাইমস্ট্যাম্পটজ টাইপ করুন
sqlite-timestamp-to-timestamp ব্যবহার করে timestamptz থেকে timestamptz টাইপ করুন
বোঝা MS এসকিউএল ডেটাবেস
এই কমান্ডটি একটি MS SQL ডাটাবেস থেকে ডেটা লোড করার জন্য pgloaderকে নির্দেশ দেয়। স্বয়ংক্রিয় আবিষ্কার
সূচী তৈরি, প্রাথমিক এবং বিদেশী কী সহ স্কিমা সমর্থিত
সীমাবদ্ধতার।
এখানে একটি উদাহরণ:
লোড ডাটাবেস
mssql://user@host/dbname থেকে
postgresql:///dbname এ
স্কিমা 'dbo'-এ শুধুমাত্র 'GlobalAccount'-এর মতো টেবিলের নামগুলি সহ
work_mem কে ´16MB', রক্ষণাবেক্ষণ_work_mem কে ´512 MB' এ সেট করুন
লোড করার আগে $$ ড্রপ স্কিমা যদি বিদ্যমান dbo ক্যাসকেড থাকে; $$;
সার্জারির mssql কমান্ড নিম্নলিখিত ধারা এবং বিকল্পগুলি গ্রহণ করে:
· থেকে
একটি বিদ্যমান MS SQL ডাটাবেস সার্ভারের সাথে সংযোগ স্ট্রিং যা শোনে এবং স্বাগত জানায়
বাহ্যিক TCP/IP সংযোগ। পিগ্লোডার হিসেবে বর্তমানে ফ্রিটিডিএস ড্রাইভারে পিগিব্যাক করে
সার্ভারের পোর্ট পরিবর্তন করুন রপ্তানি করুন টিডিএসপোর্ট পরিবেশ সূচক.
· সঙ্গে
থেকে লোড করার সময় ক MS এসকিউএল ডাটাবেস, লোড করার সময় একই বিকল্প মাইএসকিউএল ডাটাবেজ
সমর্থিত হয় অনুগ্রহ করে MySQL বিভাগে পড়ুন। নিম্নলিখিত বিকল্প যোগ করা হয়:
· সৃষ্টি স্কিম
যখন এই বিকল্পটি তালিকাভুক্ত করা হয়, তখন pgloader MS SQL-এ পাওয়া একই স্কিমা তৈরি করে
দৃষ্টান্ত. এটি ডিফল্ট।
· সৃষ্টি না। স্কিম
এই বিকল্পটি তালিকাভুক্ত হলে, pgloader কোনো স্কিমা তৈরি করা থেকে বিরত থাকে, আপনি
তারপর নিশ্চিত করতে হবে যে লক্ষ্য স্কিমা বিদ্যমান আছে।
· CAST
কাস্ট ক্লজ কাস্টম কাস্টিং নিয়ম নির্দিষ্ট করতে দেয়, হয় ডিফল্ট ওভারলোড করতে
কাস্টিং নিয়ম বা বিশেষ ক্ষেত্রে তাদের সংশোধন করতে.
বিস্তারিত জানার জন্য অনুগ্রহ করে MySQL CAST ক্লজ পড়ুন।
· সুদ্ধ কেবল সারণী নামস মত '...' [, '...'] IN স্কিমা '...'
সারণি সীমিত করতে ব্যবহৃত টেবিল নামের প্যাটার্নগুলির একটি কমা বিভক্ত তালিকা প্রবর্তন করুন
একটি সাবলিস্টে স্থানান্তর করুন। এ ধরনের একাধিক ধারা ব্যবহার করা হতে পারে, সেগুলো জমে যাবে
একসঙ্গে।
উদাহরণ:
স্কিমা 'dbo'-এ শুধুমাত্র টেবিলের নাম lile ´GlobalAccount' সহ
· বাদ সারণী নামস মত '...' [, '...'] IN স্কিমা '...'
টেবিলের নাম বাদ দিতে ব্যবহৃত টেবিল নামের প্যাটার্নগুলির একটি কমা বিভক্ত তালিকা উপস্থাপন করুন
অভিবাসন থেকে। এই ফিল্টার শুধুমাত্র ফলাফল প্রযোজ্য সুদ্ধ ছাঁকনি.
স্কিমা 'dbo'-তে 'স্থানীয় অ্যাকাউন্ট' মেলে টেবিলের নামগুলি বাদ দেওয়া
ডিফল্ট MS এসকিউএল ঢালাই বিধি
MS SQL থেকে মাইগ্রেট করার সময় নিম্নলিখিত কাস্টিং নিয়মগুলি প্রদান করা হয়:
নাম্বার:
tinyint থেকে smallint টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে ফ্লোট টু ফ্লোট টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে বাস্তব থেকে বাস্তব টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে ডাবল থেকে ডাবল নির্ভুলতা টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে সাংখ্যিক থেকে সংখ্যাসূচক টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে দশমিক থেকে সংখ্যাসূচক টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে সংখ্যায় অর্থ টাইপ করুন
ফ্লোট-টু-স্ট্রিং ব্যবহার করে সংখ্যায় স্মলমনি টাইপ করুন
পাঠ্য:
টেক্সট ড্রপ টাইপমোড থেকে char টাইপ করুন
· টাইপ করুন nchat থেকে টেক্সট ড্রপ typemod
টাইপ করুন varchar থেকে টেক্সট ড্রপ typemod
টাইপ করুন nvarchar থেকে টেক্সট ড্রপ typemod
টেক্সট ড্রপ টাইপমোড থেকে xml টাইপ করুন
বাইনারি:
· বাইট-ভেক্টর-টু-বাইটি ব্যবহার করে বাইনারি থেকে বাইটিয়া টাইপ করুন
বাইট-ভেক্টর-টু-বাইটি ব্যবহার করে ভারবিনারি থেকে বাইট টাইপ করুন
তারিখ:
টাইপ করুন datetime to timestamptz
টাইপ করুন datetime2 থেকে timestamptz
অন্যান্যঃ
· বুলিয়ানে বিট টাইপ করুন
টাইপ হায়ারার্কিড থেকে বাইট
বাইট থেকে ভূগোল টাইপ করুন
sql-server-uniqueidentifier-to-uuid ব্যবহার করে ইউআইডিতে ইউনিক আইডেন্টিফায়ার টাইপ করুন
রূপান্তর ফাংশন
কিছু ডাটা টাইপ রূপান্তর ফাংশনের মতো যথেষ্ট ভিন্ন উপায়ে প্রয়োগ করা হয়
প্রয়োজনীয় এই ফাংশন লিখতে হবে সাধারণ পাতার মর্মর এবং অনুসন্ধান করা হয়
pgloader.transforms প্যাকেজ।
কিছু ডিফল্ট রূপান্তর ফাংশন pgloader এর সাথে প্রদান করা হয়, এবং আপনি ব্যবহার করতে পারেন
--বোঝা আপনার নিজস্ব lisp ফাইলটি pgloader এ লোড এবং কম্পাইল করার জন্য কমান্ড লাইন বিকল্প
রানটাইম আপনার ফাংশনগুলি খুঁজে পাওয়ার জন্য, আপনার lisp ফাইলটি দিয়ে শুরু করতে ভুলবেন না
নিম্নলিখিত ফর্ম:
(প্যাকেজ #:pgloader.transforms)
প্রদত্ত রূপান্তর ফাংশন হল:
· শূন্য-তারিখ-থেকে-শূন্য
যখন ইনপুট তারিখ সব শূন্য হয়, ফিরে যান শূন্য, যা একটি PostgreSQL হিসাবে লোড হয় শূন্য
মান।
· তারিখ-সহ-কোন-বিভাজক
প্রয়োগ শূন্য-তারিখ-থেকে-শূন্য তারপর প্রদত্ত তারিখটিকে পোস্টগ্রেএসকিউএল ফর্ম্যাটে রূপান্তর করুন
আসলে প্রক্রিয়া করবে:
ইন: "20041002152952"
Out: "2004-10-02 15:29:52"
· সময়-সহ-না-বিভাজক
প্রদত্ত সময়কে একটি বিন্যাসে রূপান্তর করুন যা PostgreSQL আসলে প্রক্রিয়া করবে:
ইন: "08231560"
আউট: "08:23:15.60"
· tinyint থেকে বুলিয়ান
যেহেতু MySQL এর একটি সঠিক বুলিয়ান টাইপ নেই, tinyint প্রায়ই এটি বাস্তবায়ন করতে ব্যবহৃত হয়। এই
ফাংশন রূপান্তরিত করে 0 থেকে 'মিথ্যা' এবং অন্য কিছু 'সত্য।
· বিট-টু-বুলিয়ান
যেহেতু MySQL এর একটি সঠিক বুলিয়ান টাইপ নেই, BIT প্রায়ই এটি বাস্তবায়ন করতে ব্যবহৃত হয়। এই
ফাংশন থেকে 1-বিট বিট ভেক্টর রূপান্তরিত করে 0 থেকে f এবং অন্য কোন মান t..
· int-টু-আইপি
একটি পূর্ণসংখ্যাকে একটি ip4 এর বিন্দুযুক্ত উপস্থাপনায় রূপান্তর করুন।
ইন: 18435761
আউট: "1.25.78.177"
· ip-রেঞ্জ
স্ট্রিং হিসাবে দেওয়া কয়েকটি পূর্ণসংখ্যাকে ip4-এর একটি পরিসরে রূপান্তর করে।
ইন: "16825344" "16825599"
আউট: "1.0.188.0-1.0.188.255"
· রূপান্তর-mysql-পয়েন্ট
থেকে রূপান্তরিত হয় astext MySQL থেকে PostgreSQL-এ পয়েন্টের উপস্থাপনা
উপস্থাপনা।
এতে: "POINT(48.5513589 7.6926827)"
আউট: "(48.5513589,7.6926827)"
· ফ্লোট-টু-স্ট্রিং
একটি সাধারণ লিস্প ফ্লোটকে একটি PostgreSQL ফ্লোটের জন্য উপযুক্ত একটি স্ট্রিংয়ে রূপান্তর করে:
ইন: 100.0d0
আউট: "100.0"
· সেট-টু-এনাম-অ্যারে
একটি MySQL SET প্রতিনিধিত্বকারী একটি স্ট্রিংকে Enum মানগুলির একটি PostgreSQL অ্যারেতে রূপান্তর করে
সেট.
ইন: "foo, bar"
আউট: "{foo,bar}"
· খালি-স্ট্রিং-টু-নাল
একটি খালি স্ট্রিং একটি নাল রূপান্তর.
· ডান-ছাঁটা
স্ট্রিং শেষে সাদা স্থান সরান।
· বাইট-ভেক্টর থেকে বাইট
পোস্টগ্রেএসকিউএল বাইট হেক্স ফরম্যাটে স্বাক্ষরবিহীন বাইটের একটি সাধারণ অ্যারে রূপান্তর করুন
নথিভুক্ত হিসাবে প্রতিনিধিত্ব
http://www.postgresql.org/docs/9.3/interactive/datatype-binary.html
· sqlite-টাইমস্ট্যাম্প-টু-টাইমস্ট্যাম্প
SQLite টাইপ সিস্টেম বেশ আকর্ষণীয়, তাই টাইমস্ট্যাম্প তৈরি করতে এখানে এটির সাথে মানিয়ে নিন
PostgreSQL দ্বারা প্রত্যাশিত আক্ষরিক। এটি শুধুমাত্র 4 সংখ্যা, 0 তারিখ থেকে বছর কভার করে
নাল, এবং সঠিক তারিখ স্ট্রিং.
· sql-server-uniqueidentifier-to-uuid
SQL সার্ভার ড্রাইভার ইউনিক আইডেন্টিফায়ারের জন্য বাইট ভেক্টর হিসাবে ডেটা গ্রহণ করে যা আমরা
তারপর প্রক্রিয়া করার জন্য PostgreSQL কপি ইনপুট বিন্যাসের জন্য একটি UUID স্ট্রিং-এ রূপান্তর করতে হবে।
· ইউনিক্স-টাইমস্ট্যাম্প-টু-টাইমস্ট্যাম্পটজ
একটি ইউনিক্স টাইমস্ট্যাম্প (1970 এর শুরু থেকে অতিবাহিত সেকেন্ডের সংখ্যা) এ রূপান্তর করে
সঠিক PostgreSQL টাইমস্ট্যাম্প বিন্যাস।
বোঝা বার্তা
এই কমান্ডটি এখনও পরীক্ষামূলক এবং একটি syslog ব্যবহার করে UDP-এর মাধ্যমে বার্তা গ্রহণের অনুমতি দেয়
ফরম্যাটের মতো, এবং, নিয়মের মিলের উপর নির্ভর করে, ডেটা স্ট্রীমের নামকৃত অংশগুলি লোড করে
একটি গন্তব্য টেবিল।
বার্তা লোড
syslog://localhost:10514/ থেকে
যখন অ্যাপাচিতে rsyslog-msg মেলে
নিবন্ধন টাইমস্ট্যাম্প, আইপি, বিশ্রাম
INTO postgresql://localhost/db?logs.apache
সেট করুন guc_1 = ´value´, guc_2 = ´অন্য মান`
যখন অন্যদের মধ্যে rsyslog-msg মেলে
টাইমস্ট্যাম্প, অ্যাপ-নাম, ডেটা নিবন্ধন করা
INTO postgresql://localhost/db?logs.others
সেট করুন guc_1 = ´value´, guc_2 = ´অন্য মান`
অ্যাপাচি দিয়ে = rsyslog
ডেটা = আইপি বিশ্রাম
আইপি = 1*3 ডিজিট "।" 1*3 ডিজিট "।"1*3 ডিজিট "।"1*3 ডিজিট
বিশ্রাম = ~ /।*/
অন্যদের সাথে = rsyslog;
কমান্ডটি এখনও পরীক্ষামূলক হওয়ায় ভবিষ্যতে বিকল্পগুলি পরিবর্তন করা যেতে পারে এবং
বিবরণ নথিভুক্ত করা হয় না.
onworks.net পরিষেবা ব্যবহার করে অনলাইনে pgloader ব্যবহার করুন