Re: Any form of connection-level "session variable" ? - Mailing list pgsql-general

From David Fetter
Subject Re: Any form of connection-level "session variable" ?
Date
Msg-id 20070105152700.GH1562@fetter.org
Whole thread Raw
In response to Re: Any form of connection-level "session variable" ?  (Scott Ribe <scott_ribe@killerbytes.com>)
Responses Re: Any form of connection-level "session variable" ?  (Scott Ribe <scott_ribe@killerbytes.com>)
List 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@fetter.org> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666
                              Skype: davidfetter

Remember to vote!

pgsql-general by date:

Previous
From: David Fetter
Date:
Subject: Re: [JDBC] PgSQL Monitoring( Please let me know the table details )
Next
From: Scott Ribe
Date:
Subject: Re: Any form of connection-level "session variable" ?