When running scripts against Postgres with the
psql client, errors will accumulate by default. This is good from the perspective of resiliency, but may not always be desirable behavior, especially with a long-running script.
Fortunately there is a switch that can be set to fail on the first error.
-v option, set the
ON_ERROR_STOP variable as follows:
$ psql -d superstore -v ON_ERROR_STOP=1 -f setup.sql
Now the script will halt on the first error encountered.