Re: [HACKERS] proposal: session server side variables - Mailing list pgsql-hackers

From Fabien COELHO
Subject Re: [HACKERS] proposal: session server side variables
Date
Msg-id alpine.DEB.2.20.1701011005490.15074@lancre
Whole thread Raw
In response to Re: [HACKERS] proposal: session server side variables  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: [HACKERS] proposal: session server side variables  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
Hello Pavel, and Happy new year!

>> (1) Having some kind of variable, especially in interactive mode, allows to
>>>> manipulate previous results and reuse them later, without having to
>>>> resort to repeated sub-queries or to retype non trivial values.
>>>>
>>>> Client side psql :-variables are untyped and unescaped, thus not very
>>>> convenient for this purpose.
>>>
>>> You can currently (ab)use user defined GUCs for this.
>>
>> How? It seems that I have missed the syntax to assign the result of a
>> query to a user-defined guc, and to reuse it simply in a query.

> postgres=# select set_config('myvar.text', (select
> current_timestamp::text), false);

Thanks for the pointer! The documentation is rather scarse...

They are indeed session or transaction-alive. They seem to be 
user-private, which is good. However they are text only, casts are needed 
in practice as shown by your example, and I find the syntax quite 
unfriendly for interactive use. I'm not sure about performance.

I have added a subsection about them in the wiki.

-- 
Fabien.



pgsql-hackers by date:

Previous
From: Michael Meskes
Date:
Subject: Re: [WIP] RE: [HACKERS] DECLARE STATEMENT setting up a connectionin ECPG
Next
From: Michael Paquier
Date:
Subject: Re: [HACKERS] PoC: Make it possible to disallow WHERE-less UPDATE and DELETE