Re: Duda sobre varias consultas simultaneas

From: Maximiliano Riffo <maxriffod(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Duda sobre varias consultas simultaneas
Date: 2017-05-11 20:49:21
Message-ID: CAM9NfX+crMg2djMj4Zh8iY5w5Vbj+2-zRvtYuKYsq2fu+rXAEQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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_04
where 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, 1
from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora
where 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_hora
select paraderosubida_2da, paraderobajada_2da, serv_2da_etapa,
tipotransporte_2da, factorexpansion::float, 2
from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora
where 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_hora
select paraderosubida_3era, paraderobajada_3era, serv_3era_etapa,
tipotransporte_3era, factorexpansion::float, 3
from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora
where 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_hora
select paraderosubida_4ta , paraderobajada_4ta , serv_4ta_etapa,
tipotransporte_4ta, factorexpansion::float, 4
from matriz_2013_1_hora_bajada_pm.viajes_bajada_1_hora
where 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_name
from 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_hora
set 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
b
inner 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_stops
from layers_2013.detenciones_step_format_2013_with_route_name
group 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_step
from layers_2013.detenciones_step_format_2013_with_route_name_factor d
left 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 <alvherre(at)2ndquadrant(dot)com>
escribió:

> Maximi89 escribió:
> > El 11 de mayo de 2017, 16:47, Alvaro Herrera <alvherre(at)2ndquadrant(dot)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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2017-05-11 20:51:50 Re: Duda sobre varias consultas simultaneas
Previous Message Alvaro Herrera 2017-05-11 20:13:01 Re: Duda sobre varias consultas simultaneas