পোস্টগ্রিজ: স্কয়ার ফাইল চালানোর সময় নন শূন্য প্রস্থান কোড?


34

আমি একটি শেল স্ক্রিপ্ট লিখছি যা 2 টি ফর্ম ব্যবহার করে পিএসকিএল-তে কল করে ... একটি হ'ল কমান্ড (-সি) দ্বারা, অন্যটি ফাইল (-f) দ্বারা।

যেমন পিএসকিএল-সি "টেবিল ফু তৈরি করুন (বার পূর্ণসংখ্যা)"

psql -f foobar.sql

এই ফর্মগুলির মধ্যে একটি পার্থক্য হ'ল কমান্ড (-c) দ্বারা একটি কল যদি কোনও ত্রুটি দেখা দেয় তবে একটি শূন্য-বহির্গমন কোডটি দেয়, যখন ফাইল (-f) দ্বারা কলটি সর্বদা শূন্য ফিরে আসে বলে মনে হয়।

আমি ভাবছি এই আচরণের জন্য যদি কোনও কর্মক্ষেত্র থাকে? (যেমন কোনও ফাইল কার্যকর করার সময় কোনও ত্রুটি ঘটলে অ-শূন্যকে ফিরিয়ে দিন)।

ধন্যবাদ।

উত্তর:


37

আপনি নীচের বিবৃতি ব্যবহার করতে পারেন।

psql -v ON_ERROR_STOP=1 -f foobar.sql

এটি সঠিক রিটার্ন কোড প্রদান করবে এমনকি foobar.sqlফাইলটি ফাইলের ON_ERROR_STOPশীর্ষে সক্ষম করে না ।


21

আমি কীভাবে এটি সমাধান করতে পারি তা খুঁজে পেয়েছি।

আমাকে ON_ERROR_STOPফাইলের শীর্ষে সক্ষম করতে হবে।

উদাহরণ:

\set ON_ERROR_STOP true


সবচেয়ে ভালো সমাধান জন্য +1 কারণ এটা আমার পরিবর্তনশীল সেট করতে পারবেন মধ্যে , স্ক্রিপ্ট তাই আমি বিশ্বাস করতে পারেন এটা সবসময় সঠিকভাবে চলে এবং রানটাইম প্রসঙ্গ সম্পর্কে চিন্তা করতে হবে না।
ব্র্যান্ডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.