De salida yo desprenderia tabla por tabla y vista por vista, aca nadie sabe si todas son tablas o puede haber una vista, por otra parte revisa como esta ejecutando ese casting de timestamp a time, puede estar la causa allí -------------------------------------------- El jue, 11/5/17, Maximiliano Riffo <maxrif...@gmail.com> escribió:
Asunto: Re: [pgsql-es-ayuda] Duda sobre varias consultas simultaneas Para: "Alvaro Herrera" <alvhe...@2ndquadrant.com> CC: "pgsql-es-ayuda" <pgsql-es-ayuda@postgresql.org> Fecha: jueves, 11 de mayo, 2017 15:49 jajaja tienes razón. Este es el script drop table if exists matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora;create table matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora as select *from matriz_2013.viajes_04where tiempobajada::timestamp::time between '08:00:00' and '09:00:00' and tipodia = 'LABORAL';comment on table matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora is ' viajes donde el tiempo de bajada es entre 08:00:00 y 09:00:00'; drop table if exists matriz_2013_1_hora_bajada_pm.etapas_max_1_hora;create table matriz_2013_1_hora_bajada_pm.etapas_max_1_hora as select paraderosubida_1era as subida ,paraderobajada_1era as bajada, serv_1era_etapa as servicio, tipotransporte_1era as tipo_transporte, factorexpansion::float, 1from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere paraderosubida_1era is not null and paraderosubida_1era <>'' and paraderobajada_1era is not null and paraderobajada_1era <>'' and tipotransporte_1era <> 'METRO' and serv_1era_etapa is not null and factorexpansion is not null; insert into matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect paraderosubida_2da, paraderobajada_2da, serv_2da_etapa, tipotransporte_2da, factorexpansion::float, 2from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere paraderosubida_2da is not null and paraderosubida_2da <>'' and paraderobajada_2da is not null and paraderobajada_2da <>'' and tipotransporte_2da <> 'METRO' and serv_2da_etapa is not null and factorexpansion is not null; insert into matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect paraderosubida_3era, paraderobajada_3era, serv_3era_etapa, tipotransporte_3era, factorexpansion::float, 3from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere paraderosubida_3era is not null and paraderosubida_3era <>'' and paraderobajada_3era is not null and paraderobajada_3era <>'' and tipotransporte_3era <> 'METRO' and serv_3era_etapa is not null and factorexpansion is not null; insert into matriz_2013_1_hora_bajada_pm.etapas_max_1_horaselect paraderosubida_4ta , paraderobajada_4ta , serv_4ta_etapa, tipotransporte_4ta, factorexpansion::float, 4from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_horawhere paraderosubida_4ta is not null and paraderosubida_4ta <>'' and paraderobajada_4ta is not null and paraderobajada_4ta <>'' and tipotransporte_4ta <> 'METRO' and serv_4ta_etapa is not null and factorexpansion is not null; drop table if exists matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora;create table matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora as select b.* , upper(trim(d.route_name)) as route_namefrom matriz_2013_1_hora_bajada_pm.etapas_max_1_hora b inner join ( select distinct on (upper(trim(cod_sirrut))) route_name, cod_sirrut from ( select distinct on (cod_sirrut) route_name, cod_sirrut from matriz_2013_1_hora_bajada_pm.diccionario uNION select distinct on (codigo_sonda) * from matriz_2013.diccionario_routes) sq ) d on upper(trim(d.cod_sirrut)) = upper(trim(b.servicio) ); update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_horaset route_name = split_part(route_name, '_', 1)where route_name like '%\_%'; update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('104IPM') where route_name = upper('104I');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('106IPM') where route_name = upper('106I');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('113RPM') where route_name = upper('113eRncPM');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('113RPM') where route_name = upper('113R');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('115RPM') where route_name = upper('115R');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('118IPM') where route_name = upper('118I');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('118RPM') where route_name = upper('118R');update matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora set route_name =upper('126IPM') where route_name = upper('126I'); drop table if exists matriz_2013_1_hora_bajada_pm.viajes_sub_bajada_filtrados;create table matriz_2013_1_hora_bajada_pm.viajes_sub_bajada_filtrados as select b.*, d1.posicion as pos_subida , d2.posicion as pos_bajada, total_stops from matriz_2013_1_hora_bajada_pm.bajadas_por_recorrido_con_zp_route_name_1_hora binner join layers_2013.detenciones_step_format_2013_with_route_name d1 on upper(trim(b.route_name)) = upper(trim(d1.route_name)) and upper(trim(b.subida)) = upper(trim(d1.codigo_ts))inner join layers_2013.detenciones_step_format_2013_with_route_name d2 on upper(trim(b.route_name)) = upper(trim(d2.route_name)) and upper(trim(b.bajada)) = upper(trim(d2.codigo_ts))inner join (select route_name, max(posicion) as total_stopsfrom layers_2013.detenciones_step_format_2013_with_route_namegroup by route_name) vv on upper(trim(vv.route_name)) = upper(trim(b.route_name)); drop table if exists matriz_2013_1_hora_bajada_pm.flujo_lineas;create table matriz_2013_1_hora_bajada_pm.flujo_lineas as select d.route_name, d.codigo_ts as paradero,factorexpansion/d.factor as subida , 0.000000 as bajada , 0.000000 as flujo , d.posicion, d.factor, d.sentido, route_id_stepfrom layers_2013.detenciones_step_format_2013_with_route_name_factor dleft join ( select v.route_name,v.subida, sum(factorexpansion) as factorexpansion from matriz_2013_1_hora_bajada_pm.viajes_sub_bajada_filtrados v group by v.route_name,v.subida ) v on upper(trim( v.route_name)) = upper(trim(d.route_name)) and upper(trim(d.codigo_ts)) = upper(trim(v.subida)); Eso es todo. Si ejecuto de a una da un resultado y si lo ejecuto completo da otro. Espero ahí se pueda entender mejor mi problema El 11 de mayo de 2017, 17:13, Alvaro Herrera <alvhe...@2ndquadrant.com> escribió: Maximi89 escribió: > El 11 de mayo de 2017, 16:47, Alvaro Herrera <alvhe...@2ndquadrant.com> > escribió: > > > Maximi89 escribió: > > > Álvaro, > > > > > > Entonces una vez que termina el script este estaría entregando el resultado > > > antes de cerrar todos los procesos que trabajan en paralelo con el contador? > > > > ¿qué procesos trabajan en paralelo? > > Lo decía para intentar entender el motivo por el que mi tocayo estaba > obteniendo la diferencia en los resultados de sus consultas. Uh, mis disculpas, no me di cuenta del cambio de interlocutor. Yo la verdad es que no creo que haya nada trabajando en paralelo, a menos que el script sea en realidad un programa que abre varias conexiones. Como el OP no muestra el script, en realidad estamos totalmente a oscuras. Como decíamos en otro tiempo, "justo dejé mi bola de cristal en la casa". -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Max - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda