I was avoiding ON_ERROR_STOP because I was using ON_ERROR_ROLLBACK, but
have just realised that if I encase my SQL in a transaction then rollback
will still happen.

Perfect!


James Sewell,
PostgreSQL Team Lead / Solutions Architect
______________________________________


 Level 2, 50 Queen St, Melbourne VIC 3000

*P *(+61) 3 8370 8000 * **W* www.lisasoft.com  *F *(+61) 3 8370 8099



On Fri, Oct 11, 2013 at 12:25 AM, Merlin Moncure <mmonc...@gmail.com> wrote:

> On Thu, Oct 10, 2013 at 1:52 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> > James Sewell <james.sew...@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, and 3
> 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
>

-- 


------------------------------
The contents of this email are confidential and may be subject to legal or 
professional privilege and copyright. No representation is made that this 
email is free of viruses or other defects. If you have received this 
communication in error, you may not copy or distribute any part of it or 
otherwise disclose its contents to anyone. Please advise the sender of your 
incorrect receipt of this correspondence.

Reply via email to