Ao executar o PostgreSQL com um único comando SQL, os códigos de erro são retornados conforme o esperado:
% psql -c "SELECT * FROM AWDASDASDASDAS" my_db
ERROR: relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
1
Mas ao executar um arquivo, o erro é suprimido:
% psql -f test.sql my_db
psql:test.sql:1: ERROR: relation "awdasdasdasdas" does not exist
LINE 1: SELECT * FROM AWDASDASDASDAS
% echo $?
0
Alguma idéia de como recuperar esses erros?
psql -v ON_ERROR_STOP=on -f file_name.sql