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
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 |