Mari kita perhatikan contoh berikut (dari awal skrip psql):
\c :db_to_run_on
TRUNCATE the_most_important_table;
-- tried to avoid similarities to anything that exists out there
Sekarang jika dijalankan ini dengan perintah
psql [connection details] -v db_to_run_on=\'dev_database\'
lalu hanya berjalan dan pengguna senang. Tetapi bagaimana jika dia memutuskan untuk menentukan -v db_to_run_on=production_database
? (Mari kita asumsikan bahwa ini bisa terjadi, sama seperti orang-orang yang menjalankannya secara kebetulan rm -rf / # don't try this at home!!!
.) Mudah-mudahan ada cadangan baru dari tabel itu ...
Maka timbul pertanyaan: bagaimana cara memeriksa variabel yang diteruskan ke skrip dan menghentikan pemrosesan lebih lanjut berdasarkan nilainya?
\set ON_ERROR_STOP on
- bagus!