but you can always do with a (id, value) as ( values (1, 'foo'), (2, 'bar'), (3, 'baz') ) select set_config('custom.value',(select value from a where id = 2),true);
if you are worried about the evaluation order On 29 October 2017 at 09:51, Chris Travers <chris.trav...@adjust.com> wrote: > > > On Sat, Oct 28, 2017 at 4:56 PM, Pavel Stehule <pavel.steh...@gmail.com> > wrote: > >> >>> >> The creating database objects and necessary infrastructure is the most >> simple task of this project. I'll be more happy if there are zero >> intersection because variables and GUC are designed for different purposes. >> But due SET keyword the intersection there is. >> >> When I thinking about it, I have only one, but important reason, why I >> prefer design new type of database object -the GUC are stack based with >> different default granularity - global, database, user, session, function. >> This can be unwanted behave for variables - it can be source of hard to >> detected bugs. I afraid so this behave can be too messy for usage as >> variables. >> >> @1 I have not clean opinion about it - not sure if rights are good enough >> - probably some user limits can be more practical - but can be hard to >> choose result when some user limits and GUC will be against >> > > I was mostly thinking that users can probably set things like work_mem and > possibly this might be a problem. > > >> @2 With variables typed custom GUC are not necessary >> > > I don't know about that. For example with the geoip2lookup extension it > is nice that you could set the preferred language for translation on a per > user basis or the mmdb path on a per-db basis. > > >> @3 Why you need it? It is possible with set_config function now. >> > > Yeah you could do it safely with set_config and a CTE, but suppose I have: > > with a (Id, value) as (values (1::Int, 'foo'), (2, 'bar'), (3, 'baz')) > SELECT set_config('custom_val', value) from a where id = 2; > > What is the result out of this? I would *expect* that this would probably > run set_config 3 times and filter the output. > > >> >> Regards >> >> Pavel >> >> >> >> >>> >>> >>>> regards >>>> >>>> Pavel >>>> >>>> >>>> >>> >>> >>> -- >>> Best Regards, >>> Chris Travers >>> Database Administrator >>> >>> Tel: +49 162 9037 210 <+49%20162%209037210> | Skype: einhverfr | >>> www.adjust.com >>> Saarbrücker Straße 37a, 10405 Berlin >>> <https://maps.google.com/?q=Saarbr%C3%BCcker+Stra%C3%9Fe+37a,+10405+Berlin&entry=gmail&source=g> >>> >>> >> > > > -- > Best Regards, > Chris Travers > Database Administrator > > Tel: +49 162 9037 210 <+49%20162%209037210> | Skype: einhverfr | > www.adjust.com > Saarbrücker Straße 37a, 10405 Berlin > <https://maps.google.com/?q=Saarbr%C3%BCcker+Stra%C3%9Fe+37a,+10405+Berlin&entry=gmail&source=g> > >