Isolation level in a function

From: "bgolda" <e9syuk002(at)sneakemail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Isolation level in a function
Date: 2006-01-19 10:05:41
Message-ID: 1137665141.575201.286460@g14g2000cwa.googlegroups.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello, this is my first post, please don't shoot...

I was just experimenting with transactions (PG 8.1), and there is
something which puzzles me. If i write 'SET TRANSACTION ISOLATION LEVEL
SERIALIZABLE;' in my function, it breaks. Error informs me, that it was
executed after some query, while it is a first command in the function
after declares and begin!

However, it seems to work perfectly well if I change in the same place
the system variable, responsible for the transaction level. I used
set_config, if I remember well. The function is only for a DBA task, so
it seems to be all right to use set_config, isn't it?

And my questions are:
1) Why in the first case it is not possible? Is it an error or am I
just doing something wrong? Should have set something before?
2) Are there any downsides of the mentioned solution (changing
transaction_isolation value), except of the fact that it is an
administration command and should not be used :)?

Thanks,

_-_-_-_
Bart Golda

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michelle Konzack 2006-01-19 10:30:57 tsearch2 and "how to use"
Previous Message Martijn van Oosterhout 2006-01-19 09:58:44 Re: mount -o async - is it safe?