como utilizar SET LOCAL

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.

Responses

Browse pgsql-es-ayuda by date

  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