From: | Diego Ayala <netdiego81(at)gmail(dot)com> |
---|---|
To: | Postgres Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | como utilizar SET LOCAL |
Date: | 2017-08-18 14:54:25 |
Message-ID: | CANDf+nDhQxfG0+LBPOKjoix_Tfc-1fC3jq_=K3STo_T4Wn6Gew@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
buenos dias, estoy teniendo un incoveniente para utilizar el SET LOCAL,
estuve haciendo algunas pruebas iniciales con SET SESSION, que funcionan
sin problemas:
set session "prueba.user" = 'admin';
SELECT current_setting('prueba.user');
retornando el resultado "admin"
pero, al usar SET LOCAL
set local "app_user" = 'admin';
obtengo este resultado
WARNING: SET LOCAL can only be used in transaction blocks
ERROR: unrecognized configuration parameter "app_user"
********** Error **********
Ya lei la documentacion, que habla de usar solo en bloque de transaccion,
pero tampoco me funciona, tengo instalado PostgreSQL 9.4.10 64bits. sobre
RHE.
Incluso cree una funcion para tratar de meterlo dentro de 1 transaccion.
Create or Replace function user_app()
Returns text AS
$BODY$
Declare
valor text;
Begin
set local "app_user" = 'admin';
SELECT current_setting('app.user') INTO valor;
return valor;
END;
$BODY$
Language plpgsql;
mismo error
ERROR: unrecognized configuration parameter "app_user"
CONTEXT: SQL statement "set local "app_user" = 'dreese'"
PL/pgSQL function user_app() line 5 at SQL statement
********** Error **********
Si alguien me puede ayudar a entender como usar el LOCAL.
Gracias de ante mano.
From | Date | Subject | |
---|---|---|---|
Next Message | Anthony Sotolongo | 2017-08-18 15:37:09 | Re: como utilizar SET LOCAL |
Previous Message | Hellmuth Vargas | 2017-08-18 02:04:57 | Re: Actualizar de 9.3.18 a 9.6.4 |