On Tue, Feb 28, 2012 at 4:46 PM, Claudio Freire <klaussfreire@gmail.com> wrote:
> On Tue, Feb 28, 2012 at 6:54 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>
>>> ... which is the ORM library (SQLAlchemy) doing a reflection of the
>>> table(s) involved.
>>
>> Oh, there's an ORM involved? I'll bet a nickel it's doing something
>> surprising, like not issuing your SET until much later than you thought.
>
> I'd rather go for an auto-rollback at some point within the
> transaction that issued the set work_mem. SQLA tends to do that if,
> for instance, an exception is risen within a transaction block (ie,
> flushing).
>
> You can issue the set work_mem in its own transaction, and commit it,
> and in that way avoid that rollback.
I cranked the logging /all/ the way up and isolated the server.
I suspect that your theory is correct.
I'll spend a bit more time investigating.
--
Jon