किसी फ़ाइल को चलाते समय PostgreSQL निकास स्थिति


16

एक एकल SQL कमांड त्रुटि कोड के साथ PostgreSQL चलाते समय अपेक्षित रूप से लौटाया जाता है:

% 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

SQL फ़ाइल की पहली पंक्ति में इसे जोड़कर चाल करता है:

\set ON_ERROR_STOP 1

नई टिप्पणियाँ (धन्यवाद!) निम्नलिखित समाधान सुझाते हैं:

-v ON_ERROR_STOP=1
-v ON_ERROR_STOP=on

2
@ pt12lol जो मेरे लिए भी असफल रहा, इसने काम किया:psql -v ON_ERROR_STOP=on -f file_name.sql
Morgen
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.