Let's consider the following example (from the start of a psql script):
\c :db_to_run_on TRUNCATE the_most_important_table; -- tried to avoid similarities to anything that exists out there
Now if it is run this by the command
psql [connection details] -v db_to_run_on=\'dev_database\'
then it just runs and the user is happy. But what if (s)he decides to specify
-v db_to_run_on=production_database? (Let's assume that this can happen, just like people run
rm -rf / # don't try this at home!!! ocassionally.) Hopefully there is a fresh backup of that table...
So the question arises: how to check the variables passed to a script and stop further processing based on their value?