psql 스크립트의 시작부터 다음 예제를 살펴 보겠습니다.
\c :db_to_run_on
TRUNCATE the_most_important_table;
-- tried to avoid similarities to anything that exists out there
이제 명령으로 실행하면
psql [connection details] -v db_to_run_on=\'dev_database\'
그런 다음 그냥 실행되고 사용자는 행복합니다. 그러나 만약 그가 지정하기로 결정한다면 -v db_to_run_on=production_database
? (사람들이 rm -rf / # don't try this at home!!!
가끔씩 달리는 것처럼 이런 일이 발생할 수 있다고 가정 해 봅시다 .) 그 테이블에 대한 새로운 백업이 있기를 바랍니다.
따라서 문제는 스크립트에 전달 된 변수를 확인하고 해당 값을 기반으로 추가 처리를 중지하는 방법입니다.
\set ON_ERROR_STOP on
-좋아!