Состояние выхода PostgreSQL при запуске файла


16

При запуске PostgreSQL с одной командой SQL коды ошибок возвращаются, как и ожидалось:

% 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
Морген
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.