পিএসএকিএল সহ একাধিক ফাইল উত্স করুন


27

আমি psqlআমার ডাটাবেস স্কিমা সেট আপ করার জন্য একক লেনদেন হিসাবে ক্রমান্বয়ে বেশ কয়েকটি এসকিএল স্ক্রিপ্ট সম্পাদন করতে চাই। এই কাজ করতে সবচেয়ে ভালো উপায় কি? অতীতে আমি জানি যে আমার কাছে একটি মাস্টার স্ক্রিপ্ট ছিল যা আমি psqlঅন্য ফাইলগুলি অন্তর্ভুক্ত করেছিলাম তবে এই স্ক্রিপ্টটির বাক্য গঠনটি আমার মনে নেই।

উত্তর:


32

আপনার স্ক্রিপ্টটি দেখতে এমন হতে পারে:

BEGIN;
\i file1.sql
\i file2.sql
COMMIT;

অথবা আপনি এরকম কিছু করতে পারেন:

cat file1.sql file2.sql | psql -1 -f -

1
খোলের পাইপ বোঝা আমাকে শেষ কমান্ডটি পেতে সহায়তা করেছিল।
ma11hew28

BEGIN এর সাথে আপনার উদাহরণ; কমিট; কাজ করে না, আপনার প্রতিটি \iলাইনের শেষে আধা-কলামগুলি দরকার :
নিকোচর

0

"পড়া" নির্দেশের সাহায্যে rep_sql প্যারামিটার সহ ফাইল sql অতীত ফাইলটির পথের সাথে আমি ইউনিক্স / লিনাক্সে এটি ব্যবহার করেছি:

find -P ${rep_sql} -type f -name *.sql -execdir psql -d "mabase" -f {} +

এটি বলে: এক্সট্রাক্টের সাথে whatever .sql »হিসাবে যে কোনও নাম থাকা ফাইলগুলি অনুসরণ না করা এবং ম্যাসেজের সাথে কাজ করে ফাইলের পিএসএইচএল ডিরেক্টরিতে এক্সিকিউট করুন এবং পাওয়া ফাইলটি কার্যকর করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.