태그 보관물: postgresql

postgresql

Postgres : SQL 파일을 실행할 때 0이 아닌 종료 코드? : psql -c

두 가지 형식을 사용하여 psql을 호출하는 쉘 스크립트를 작성 중입니다. 하나는 명령 (-c)이고 다른 하나는 파일 (-f)입니다.

예 : psql -c “테이블 foo 생성 (bar 정수)”

psql -f foobar.sql

이러한 형식의 한 가지 차이점은 오류 발생시 명령 호출 (-c)이 0이 아닌 종료 코드를 리턴하는 반면 파일 호출 (-f)은 항상 0을 리턴하는 것입니다.

이 동작에 대한 해결 방법이 있는지 궁금합니다. (즉, 파일을 실행하는 동안 오류가 발생하면 0이 아닌 값을 반환합니다).

감사.



답변

아래 진술을 사용할 수 있습니다.

psql -v ON_ERROR_STOP=1 -f foobar.sql

foobar.sql파일이 파일 ON_ERROR_STOP상단에서 활성화되지 않은 경우에도 올바른 반환 코드를 반환 합니다.


답변

이 문제를 해결하는 방법을 찾았습니다.

ON_ERROR_STOP파일 맨 위에서 활성화해야 합니다.

예:

\set ON_ERROR_STOP true


답변