Hola Diego, te aseguraste que ese app_user es una variable de
configuración? pues es el error que retorna!!!
puede que se llame prueba.app_user
asegúrate de tenerlo en el postgresql.conf por favor
Saludos
On 18/08/17 11:54, Diego Ayala wrote:
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.