Well, you can definitely lose a lot by not having things available. psql takes lots and lots of command line options. One super handy one is -v, where you can do the equivalent of a \set. For example:
psql -1 -v ON_ERROR_STOP=1 -f script.psql
makes sure that the script ends on the first error and rolls back instead of filling your screen with junk.