Sí gracias. Se pudo resolver ese tema en particular y se usó el tipo de índice predeterminado que usa postgres.
Aquí está el resultado de la consulta que solicitaste. => explain select count(*), count(*) filter (where fecha_de_emision >= '2020-09-01 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from invoices; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------ Aggregate (cost=3431745.91..3431745.92 rows=1 width=16) -> Index Only Scan using idxpdo46192ooj1ys1xxkcknhsy0 on invoices (cost=0.57..2660899.27 rows=77084664 width=11) JIT: Functions: 2 Options: Inlining true, Optimization true, Expressions true, Deforming true (5 rows) => select count(*), count(*) filter (where fecha_de_emision >= '2020-09-01 05:00:00' and fecha_de_emision < '2020-10-01 05:00:00') from invoices; count | count ----------+--------- 77322360 | 3679203 (1 row) Time: 15702.502 ms (00:15.703) Estamos analizando las diferencias del tiempo de ejecución de algunas consultas ya que no tienen la misma respuesta al cambiar de postgres 9.6 a 12 Sospecho que no es el mismo hardware, a pesar que tiene igual configuración de 32 GB de RAM, disco SSD de 500GB en una instancia AWS de 8 cores. Llega un momento que al presentarse más de 3mil request por minuto las consultas demoran mucho para finalizar y se degrada el rendimiento en general. No hay cambios en el frontend, sólo se migró a la nueva versión del gestor y se perdió la sensación de rapidez que tenía la versión anterior, El sistema ahora está un poco más estable al crear y/o eliminar índices que mejoró notablemente. Seguiré revisando el porqué se degradó el performance. Saludos El mié., 7 oct. 2020 a las 2:46, Jaime Casanova (< jaime.casan...@2ndquadrant.com>) escribió: > On Mon, 28 Sep 2020 at 16:16, Jairo Graterón <jgrate...@gmail.com> wrote: > >> Saludos lista, recientemente migramos de postgresql 9.6 a 12 >> >> Ahora tenemos una consulta lenta que está afectando el rendimiento en el >> sistema >> >> Observo que en el explain el motor no está usando el índice del >> campo fecha_de_emision >> >> > Saludos, > > ¿Pudiste solucionar el problema? porque te pidieron el explain analyze > pero no veo que hayas pasado. > > puedes mostrar el resultado de: > > select count(*), > count(*) filter (where fecha_de_emision >= '2020-09-01 > 05:00:00' and fecha_de_emision <= '2020-10-01 04:59:59.999999' > from invoices; > > > además de la estructura de invoices obtenida con \d en psql (por favor, no > uses imagenes, pon esas cosas que te pedí en archivos de texto y > adjuntalos. gracias) > > -- > Jaime Casanova www.2ndQuadrant.com > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >