একটি ফাইল চালানোর সময় PostgreSQL প্রস্থান স্থিতি


16

যখন একটি একক এসকিউএল কমান্ড ত্রুটি কোডগুলি সহ পোস্টগ্রেএসকিউএল চালানো হয় তখন প্রত্যাশার সাথে প্রত্যাবর্তন হয়:

% psql -c "SELECT * FROM AWDASDASDASDAS" my_db
ERROR:  relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
1

তবে ফাইল চালানোর সময় ত্রুটিটি দমন করা হয়:

% psql -f test.sql my_db
psql:test.sql:1: ERROR:  relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
0

এই ত্রুটিগুলি কীভাবে ফিরে পাবেন?

উত্তর:


12

এসকিউএল ফাইলের প্রথম লাইনে এটি যুক্ত করা কৌশলটি করে:

\set ON_ERROR_STOP 1

নতুন মন্তব্য (ধন্যবাদ!) নিম্নলিখিত সমাধানগুলির পরামর্শ দেয়:

-v ON_ERROR_STOP=1
-v ON_ERROR_STOP=on

2
@ পিটি 12 লোল এটি আমার পক্ষেও ব্যর্থ হয়েছিল, এটি কাজ করেছিল:psql -v ON_ERROR_STOP=on -f file_name.sql
মরগেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.