On May 11, 2012, at 9:39 AM, Tom Lane wrote:
>> Hrm∑I've also just replicated it on CentOS 6.2 with Perl 5.10.1:
>
> Interesting.
Ah, it’s a psql configuration issue. I had replicated it on that box by connecting with psql on my Mac. When I SSHed to
thebox and used the psql there, I was *not* able to replicate it.
So then I tried psql from my Mac again, this time with -X, and the transaction was properly cancelled. Some more
fiddling,and I find that this is the culprit:
\set ON_ERROR_ROLLBACK interactive
So I guess it transparently rolls back a savepoint for the previous statement. I had forgotten I turned that on.
Apologiesfor the noise.
David