From: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> |
---|---|
To: | Rob Nikander <rob(dot)nikander(at)gmail(dot)com>, Postgres General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: procedures and transactions |
Date: | 2019-02-21 19:30:54 |
Message-ID: | 1beb45ef-5d8b-b97a-d6f0-02e336144fa2@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2019-02-20 17:45, Rob Nikander wrote:
>> On Feb 20, 2019, at 10:07 AM, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com> wrote:
>>
>> You can run SET TRANSACTION ISOLATION LEVEL in a procedure.
>
> I tried that before but I get this error:
>
> create or replace procedure t_test(n integer)
> as $$
> begin
You need to commit or rollback the preceding transaction here. Yeah I
know it's a bit weird.
> set transaction isolation level serializable;
> raise notice 'current isolation level: %', (select current_setting('transaction_isolation'));
> raise notice 'current txid: %', (select txid_current());
> end;
> $$ language plpgsql;
>
> mydb=# call t_test(1);
> ERROR: SET TRANSACTION ISOLATION LEVEL must be called before any query
> CONTEXT: SQL statement "SET transaction isolation level serializable"
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2019-02-21 19:32:01 | Re: Channel binding not supported using scram-sha-256 passwords |
Previous Message | Stephen Frost | 2019-02-21 14:53:25 | Re: Barman disaster recovery solution |