Re: Proceso dormido

From: "Juan Carlos Avila Mendez" <jcavila(at)tabicel(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Proceso dormido
Date: 2005-09-26 17:31:51
Message-ID: 002b01c5c2c0$2e94a4d0$0c00a8c0@Informatica
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si estoy usando llaves foraneas, y el codigo que estoy ejecutando es el
siguiente:

select * from c_articulos
while not eof(c_articulos)
select * from t_kardex where t_kardex.articulo_id =
c_articulos.articulo_id order by almacen_id, articulo_id, fecha, temporal_1,
consecutivo
while not eof(t_kardex)
---------- (calculos locales)
---------- (calculos locales)
t_kardex.cantidad_inicial = variable_local
update t_kardex
end while (t_kardex)
close t_kardex
end while (c_articulos)

la estructura de t_kardex es la siguiente:

empresa_id varchar(8) NOT NULL,
sucursal_id varchar(8) NOT NULL,
almacen_id varchar(4) NOT NULL,
ubicacion_id varchar(8),
folio_interno varchar(10),
articulo_id varchar(8) NOT NULL,
fecha date,
hora varchar(8),
tipo_movimiento_id varchar(4) NOT NULL,
usuario_id varchar(8),
programa_id varchar(8),
cantidad_inicial numeric(15,2),
cantidad_transaccion numeric(15,2),
precio_unitario numeric(15,2),
precio_transaccion numeric(15,2),
costo_unitario numeric(15,2),
tipo_movimiento_inventario_id varchar(4),
consecutivo int4 NOT NULL,
costo_promedio numeric(10,2),
temporal_1 varchar(10),
temporal_2 varchar(10),
temporal_3 varchar(10),
temporal_4 varchar(10),
CONSTRAINT t_k_tipo_movimiento_id FOREIGN KEY (tipo_movimiento_id)
REFERENCES c_tipos_movimiento_inventario (tipo_movimiento_id)

Los campos temporales (temporal_1, temporal_2, etc,) son campos de otra
tabla, lo hice para abrir una sola tabla sin necesidad de usar join y poder
actualizar. Esta tabla tiene mas de 277,000 registros.

Saludos

----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
To: "Juan Carlos Avila Mendez" <jcavila(at)tabicel(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Monday, September 26, 2005 11:21 AM
Subject: Re: [pgsql-es-ayuda] Proceso dormido

On Mon, Sep 26, 2005 at 10:08:10AM -0500, Juan Carlos Avila Mendez wrote:

Hola,

> Soy parte de un equipo que estamos desarrollando una aplicacion en
> visual basic, tenemos un servidor linux red hat version 7, postgresql
> version 7.4, al ejecutar un programa simple en visual basic, abro dos
> tablas en dos select distintos y en una estoy actualizando un campo,
> al revisar en system monitor en el servidor, el proceso al incicio
> aparece corriendo, e intermitentemente se duerme aparentemente sin
> razon aparente, aun cuando yo sea el unico usuario en la base de
> datos, en donde tengo que configurar para que no pase esto?. Gracias

Hum. Tienes llaves foraneas? Estas usando transacciones explicitamente
y no las cierras de inmediato? Por favor describenos en mas detalle las
tablas involucradas y cuales son las consultas que estas ejecutando.

Adicionalmente, observa la vista pg_locks (puede ser desde una tercera
conexion). Esa te entrega informacion sobre cuales locks estan tomados
por cada proceso, y que procesos estan esperando que locks
(granted=false son los procesos que estan esperando).

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 17.7", W 73º 14'
26.8"
"El conflicto es el camino real hacia la unión"

---------------------------(fin del mensaje)---------------------------
TIP 5: ¿Has leído nuestro extenso FAQ?

http://www.postgresql.org/files/documentation/faqs/FAQ.html

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.6/111 - Release Date: 23/09/2005

--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.344 / Virus Database: 267.11.6/111 - Release Date: 23/09/2005

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ernesto Quiñones A. 2005-09-26 17:38:38 comando COPY
Previous Message Jaime Casanova 2005-09-26 16:22:08 Re: Proceso dormido