Re: Any form of connection-level "session variable" ?

From: David Fetter <david(at)fetter(dot)org>
To: Scott Ribe <scott_ribe(at)killerbytes(dot)com>
Cc: John McCawley <nospam(at)hardgeus(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Any form of connection-level "session variable" ?
Date: 2007-01-05 15:27:00
Message-ID: 20070105152700.GH1562@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Jan 04, 2007 at 06:53:09PM -0700, Scott Ribe wrote:
> What about:
>
> create function set_emp_id() returns void as $$
> begin
> drop table if exists emp_1_id;
> select emp_id into temp emp_1_id from secureview.tbl_employee where
> username = current_user;
> end;
> $$ language plpgsql;
>
> create function get_emp_id() returns int as $$
> return select emp_id from emp_1_id;
> $$ language plpgsql stable;
>
> Call set_emp_id once on connection, then use get_emp_id thereafter.
> Would that be any faster? (This is what Erik meant by "a temp table
> is pretty much a session variable" in his earlier message.)

You can use PL/Perl's %_SHARED hash
<http://www.postgresql.org/docs/current/static/plperl-global.html> to
store session-long variables, and you don't need to worry about
cleanup :) Similar things exist in PL/Python and possibly others.

Cheers,
D
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
phone: +1 415 235 3778 AIM: dfetter666
Skype: davidfetter

Remember to vote!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Ribe 2007-01-05 15:31:28 Re: Any form of connection-level "session variable" ?
Previous Message David Fetter 2007-01-05 15:10:43 Re: [JDBC] PgSQL Monitoring( Please let me know the table details )