user variables in session

Started by Igor Shevchenkoabout 16 years ago2 messagesgeneral
Jump to latest
#1Igor Shevchenko
igor@carcass.ath.cx

Hi All,

I wasn't able to find any functions which would allow me to save/fetch/remove
user variables local to pgsql session, e.g. -

1. select setvar('user variable name', 'user value');
2. select getvar('user variable name');
3. select delvar('user variable name');

Is there any way to do this with stock PostgreSQL, or via something in
contrib?

Would pgsql's HTAB with hash_create and hash_search be a good basis for a
simple C extension which would provide such feature ?

I found this to be quite useful in e.g. pl/pgsql triggers, for logging.

--
Best Regards,
Igor Shevchenko

#2Merlin Moncure
mmoncure@gmail.com
In reply to: Igor Shevchenko (#1)
Re: user variables in session

On Mon, Mar 22, 2010 at 11:55 AM, Igor Shevchenko <igor@carcass.ath.cx> wrote:

Hi All,

I wasn't able to find any functions which would allow me to save/fetch/remove
user variables local to pgsql session, e.g. -

1. select setvar('user variable name', 'user value');
2. select getvar('user variable name');
3. select delvar('user variable name');

Is there any way to do this with stock PostgreSQL, or via something in
contrib?

Would pgsql's HTAB with hash_create and hash_search be a good basis for a
simple C extension which would provide such feature ?

yes. this is trivially done and works. another way to do it with
pl/perl...there's an example in the docs iirc. personally, I prefer
the htab route. It's going to come down to which dependency you want
to deal with.

merlin