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


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.