Alexandre , Fiquei encafifado .... Bolei algo que resolve... mas as variaveis são de sessão .. então, toda vez que conectar tem q setar as variáveis... e quando desconectar ... limpa elas.. se não vão ficar ocupando espaço do banco.... Ou faz um scriptzinho que limpa as variaveis antigas !!
Testei em 3 sessões ao mesmo tempo .. sem erros ... La vai : ---- START CODE CREATE SEQUENCE session_id; CREATE TABLE session_var ( sessid bigint, var varchar, val text, tmsp time default current_timestamp ); CREATE OR REPLACE FUNCTION set_var(varchar,text) RETURNS text AS $$ INSERT INTO session_var VALUES(get_sessid(),$1,$2); select $2; $$ LANGUAGE 'sql'; CREATE OR REPLACE FUNCTION get_var(varchar) RETURNS TEXT AS $$ SELECT val FROM session_var WHERE sessid = get_sessid() AND var = $1; $$ LANGUAGE 'sql'; CREATE OR REPLACE FUNCTION get_sessid() RETURNS bigint AS $$ DECLARE ss BIGINT; BEGIN SELECT currval('session_id') INTO ss; RETURN ss; EXCEPTION WHEN object_not_in_prerequisite_state THEN SELECT nextval('session_id') INTO ss; RETURN ss; END $$ LANGUAGE 'plpgsql'; -- END CODE Testes : nesic2=# select get_var('test'); get_var --------- (1 row) nesic2=# select set_var('id_user',10); set_var --------- 10 (1 row) nesic2=# select get_var('id_user'); get_var --------- 10 (1 row) -- Att: Thiago Risso _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral