On Thu, Oct 10, 2013 at 1:52 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> James Sewell <james.sewell@lisasoft.com> writes:
>> My question is in a rollback scenario is it possible to get PSQL to return
>> a non 0 exit status?
>
> Maybe you could use -c instead of -f?
>
> $ psql -c 'select 1; select 1/0' regression
> ERROR: division by zero
> $ echo $?
> 1
>
> You won't need explicit BEGIN/END because this is already a single
> transaction.
According to the man page,
"EXIT STATUS psql returns 0 to the shell if it finished normally, 1 if a fatal error of its own (out of
memory,file not found) occurs, 2 if the connection to the server went bad and the session was not interactive,
and3 if an error occurred in a script and the variable ON_ERROR_STOP was set."
So for a longer script ON_ERROR_STOP might be the ticket (which is
usually a good idea anyways).
merlin