Re: set_config with is_local parameter true escapes transaction boundaries

From: Jobin Augustine <jobin(dot)augustine(at)percona(dot)com>
To: Ruslan Talpa <ruslan(dot)talpa(at)subzero(dot)cloud>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: set_config with is_local parameter true escapes transaction boundaries
Date: 2023-01-12 05:24:18
Message-ID: CAEpZXff27+1pXf5ngmbDm17Mh9wKrrAwGqpc-c-vA+-o01e=9w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Yes, The behaviour changes after the parameter are used for the first time.
This could be a problem if the connection is reused (pool)
RESET/DISCARD also not bringing back the original behaviour.

--Please test this on a fresh connection
--Check the status before the first transaction
select current_setting('custom.a',true),current_setting('custom.a',true) is
null, current_setting('custom.a',true)='';

--First transaction where the parameter is set at the transaction level
BEGIN;
SELECT set_config('custom.a', 'vv', true);
COMMIT;

--Reset
RESET ALL;
DISCARD ALL;

--Check the status after the first transaction
select current_setting('custom.a',true),current_setting('custom.a',true) is
null, current_setting('custom.a',true)='';

-Jobin

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2023-01-12 05:58:32 Re: set_config with is_local parameter true escapes transaction boundaries
Previous Message Jeff Laing 2023-01-11 23:42:09 RE: BUG #17747: Registry entry "Base Directory" is not populated if you only install Command-line tools