Consideriamo il seguente esempio (dall'inizio di uno script psql):
\c :db_to_run_on
TRUNCATE the_most_important_table;
-- tried to avoid similarities to anything that exists out there
Ora se viene eseguito questo dal comando
psql [connection details] -v db_to_run_on=\'dev_database\'
quindi funziona e l'utente è felice. Ma cosa succede se decide di specificare -v db_to_run_on=production_database
? (Supponiamo che ciò possa accadere, proprio come le persone corrono rm -rf / # don't try this at home!!!
ocassionalmente.) Speriamo che ci sia un nuovo backup di quella tabella ...
Quindi sorge la domanda: come verificare le variabili passate a uno script e interrompere l'ulteriore elaborazione in base al loro valore?
\set ON_ERROR_STOP on
- simpatico!