Re: [pgsql-es-ayuda] Materializar cambios dentro de función

From: noXat <lista-postgres(at)3f22(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Cc: alvherre(at)alvh(dot)no-ip(dot)org
Subject: Re: [pgsql-es-ayuda] Materializar cambios dentro de función
Date: 2010-03-14 17:37:19
Message-ID: 4B9D1ECF.8010008@3f22.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Álvaro estoy de acuerdo contigo, solo que esta es una cosa muy especial
que estoy haciendo y escapa totalmente del mundo transaccional
tradicional. Finalmente lo que hice fue un While que llama consultas con
dblink.

SELECT c INTO VAR_TIME FROM dblink('myconn','INSERT INTO
times(current,gameid,timekindid)
VALUES(True,'||VAR_GAME||','||VAR_TIEMPO||') RETURNING id') AS id(c int);

El While se mantiene andando siempre como una especie de demonio. Ahora
voy a meterle carga simulada para ver cómo se comporta bajo estrés en
cuanto a performances e integridad de la data.

Por ultimo te comento que en este caso en particular no quiero que se
produzca un rollback nunca ya que justamente para el proyecto la idea es
que los datos siempre reflejen hasta donde llego el proceso aunque este
sea incompleto en cuanto al contenido de los datos.

Voy a tratar comunicar los resultados a la lista con un ejemplo real del
proyecto. Claro si es que los resultados son buenos ;)

Gracias a todos.

El 14-03-2010 10:47, Alvaro Herrera escribió:
> noXat escribió:
>
>
>> Función:
>>
>>
>> WHILE X= True LOOP
>> INSERT INTO padre(lo_que_sea) VALUES('eee') RETURNING id INTO VAR_ID;
>> RAISE NOTICE 'CREO LLAVE VAR_ID;
>> PERFORM pg_sleep(60);
>> END Loop;
>>
> No te recomiendo esto. Vas a tener una transacción abierta
> indefinidamente, lo cual es un problema muy severo para VACUUM. Te
> recomiendo que escribas el loop en un programa cliente que abra y cierre
> una nueva transacción para cada iteración del bucle.
>
>

---- ADVERTENCIA ---- La información contenida en este correo electrónico, y en su caso, cualquier fichero anexo al mismo, son de carácter privado y confidencial, y se encuentra protegida por la ley N° 19628 y/o por los contratos de confidencialidad firmados con el emisor, siendo para uso exclusivo de su destinatario. Si usted no es el destinatario correcto, el empleado o agente responsable de entregar el mensaje al destinatario, o ha recibido esta comunicación por error, le informamos que está totalmente prohibida cualquier divulgación, distribución o reproducción de esta comunicación según la legislación vigente y le rogamos que nos lo notifique inmediatamente, procediendo a su destrucción sin continuar su lectura.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2010-03-14 23:12:16 Re: Postgres con Visual Fox
Previous Message Edwin Quijada 2010-03-14 16:41:18 RE: Ambientes de Desarrollo para versiones de PostgreSQL-8.4 y para 9.0alpha4