Re: can I define own variables?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Sam Mason <sam(at)samason(dot)me(dot)uk>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: can I define own variables?
Date: 2007-10-13 01:25:54
Message-ID: 9037.1192238754@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sam Mason <sam(at)samason(dot)me(dot)uk> writes:
> On Sat, Oct 13, 2007 at 12:18:45AM +0200, Andreas wrote:
>> can I define connection-global variables within a ODBC connection ?

> You could use a temporary table, keyed on the variable name. Not
> particularly nice to use, but it works. You can create accessor
> functions reasonably easily if you want.

Another possibility, if you only need to store and retrieve values
and not do anything especially interesting with them, is to abuse
the "custom GUC variable" facility. This is meant to provide
placeholder parameter settings for dynamically-loaded extension
modules, but there's nothing stopping you from setting and reading
a variable that in fact will never be used by any extension module.

To do this, you need to set custom_variable_classes in postgresql.conf,
perhaps
custom_variable_classes = user_vars

and then you can do things like

SET user_vars.foo = whatever;
SHOW user_vars.bar;

Of course, this is a hack of the first water, and you should expect
that it might break sometime in the future. But I don't think we'd
break it without providing some alternative solution.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Peterson 2007-10-13 02:22:32 convert binary string to datum
Previous Message Sam Mason 2007-10-13 00:23:58 Re: can I define own variables?