[Pgsql-ayuda] Monitorear un query

Gatosoft gatosoft@yahoo.com
Thu, 10 Oct 2002 06:39:32 -0700 (PDT)


Hola Foro...!!!

Estoy haciendo una aplicacion cliente en Delphi, que
toma los datos de un servidor con Postgres 7.1.
Desde mi aplicacion, le envio al servidor una peticion
como esta:

Select CalcularNomina(...Parametros...)

Utilizando los componentes ZEOS.

El caso es que este procedimiento actualmente se
demora entre 2 y 3 minutos, y en el futuro, tal vez se
demore mas.
me gustaria saber como puedo saber que està pasando
mientras este se ejecuta, algo asi como:
10% calculado....

cuando lo ejecuto desde la consola, puedo ver esto
porque utilizo un 

raise notice ''Empleados procesados %'', tantos... 

Se me ocurrio entonces (algo no muy elegante), guardar
cada vez que procese un empleado, un registro en una
tabla de Notificaciones que tengo:

Perform set_notificacion(''NumPersonas'', valor);

y en un proceso paralelo, desde el cliente, voy
consultando este registro cada cierto tiempo...(!!);
pero sucede que esto solo se hace efectivo  cuando
termina el procedimiento y el motor hace un COMMIT.

Me gustaria saber que se puede hacer, o ustedes como
trabajan este tipo de problemas...
------------------------------------------------

Otra inquietud... que nació de el anterior problema
es:
puedo hacer algo como:

for RegistroEmpleado into
    {....Query....}
Loop
  start transaction

  Aqui hago muchas operaciones 
  para cada empleado.

  commit; 
end Loop;


Estuve leyendo la documentacion y se que no existe el
start transaction--Commit, sino: BEGIN; COMMIT;

Pero intenté utilizarlo y .... (bueno, ustedes son los
expertos, ya se imaginaran que pasó, o que no pasó).

Perdonen mi ignorancia, pero soy bastante nuevo en
Postgres...



__________________________________________________
Do you Yahoo!?
Faith Hill - Exclusive Performances, Videos & More
http://faith.yahoo.com