When one statement has an error then you should see soemthing like the following returned for the rest:
NOTICE: current transaction is aborted, queries ignored until end of transaction block
*ABORT STATE*
Meaning none of the rest of the queries are executed.
hth,
- Stuart
> -----Original Message-----
> From: John Taylor [mailto:postgres@jtresponse.co.uk]
>
>
> Hi,
>
> I'm running a transaction with about 1600 INSERTs.
> Each INSERT involves a subselect.
>
> I've noticed that if one of the INSERTs fails, the remaining
> INSERTs run in about
> 1/2 the time expected.
>
> Is postgresql optimising the inserts, knowing that it will
> rollback at the end ?
>
> If not, why do the queries run faster after the failure ?
>
> Thanks
> JohnT