Re: Indice corrompido. Cual?

From: Rodriguez Fernando <rodriguez(at)ort(dot)edu(dot)uy>
To: Agustin Lopez <Agustin(dot)Lopez(at)uv(dot)es>
Cc: Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Indice corrompido. Cual?
Date: 2012-11-07 14:14:47
Message-ID: 509A6CD7.4010306@ort.edu.uy
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 07/11/2012 05:51, Agustin Lopez escribió:
>
> Hola!
>
> Gracias por la respuesta, Fernando.
>
> Pero incido en el problema, que no me lo resuelves.
>
> Me gustaría saber si hay alguna manera de saber qué índice está dañado.
> Es raro que Postgres no tenga alguna manera de averiguarlo.
>
> Saludos,
> Agustín
>
> El 05/11/2012 15:06, Rodriguez Fernando escribió:
>> El 30/10/2012 05:12, Agustin Lopez escribió:
>>>
>>> Hola a todos!
>>>
>>> Tengo una DB en postgresql 9.0.3 que de vez en cuando baja su
>>> rendimiento
>>> de forma notable (la hace inoperativa), por ejemplo tras un corte de
>>> luz o tras
>>> un update masivo. Para solucionar el problema debo reindexar toda la DB
>>> para lo cual necesito varias horas y no es lo ideal. (Todo esto
>>> pasaba también
>>> con versiones anteriores de Postgres).
>>>
>>> Las preguntas son:
>>>
>>> -Hay alguna forma / herramienta para chequear los indices y sólo
>>> reindexar el que esté mal?
>>> -Hay alguna herramienta para lanzar en paralelo el reindex de la DB?
>>>
>>> Gracias,
>>> Agustin
>>>
>>>
>>> -
>>> Enviado a la lista de correo pgsql-es-ayuda
>>> (pgsql-es-ayuda(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>
>>>
>> Si los update masivos tocan campos de indices seria bueno
>> reorganizarlos, a menos que no sepas que afecta.
>> En cuanto a las caídas abruptas del sistemas, una solución sería una
>> ups.
>> Otra idea podria se configurar que logue las consultas que demoran
>> mas de un tiempo determinado (log_min_duration_statement)
>> Te envio un link que encontré para el caso
>> http://heatware.net/databases/how-to-find-log-slow-queries-postgresql/
>>
>
>
proba consultar pg_index
http://www.postgresql.org/docs/9.2/static/catalog-pg-index.html

indisvalid bool If true, the index is currently valid for queries.
False means the index is possibly incomplete: it must still be modified
by INSERT/UPDATE operations, but it cannot safely be used for queries.
If it is unique, the uniqueness property is not true either.

indisready bool If true, the index is currently ready for inserts.
False means the index must be ignored by INSERT/UPDATE operations.

mas datos del catalogo
http://www.postgresql.org/docs/9.2/static/catalogs.html

select a.relname as nombreindice, indisvalid, indisready, b.relname as
nombretabla
from pg_index
inner join pg_class a on (indexrelid= a.oid)
inner join pg_class b on (indrelid=b.oid);

saludos Fernando

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan 2012-11-07 15:47:11 Re: problemas con trigger
Previous Message Alvaro Herrera 2012-11-07 13:12:04 Re: Indice corrompido. Cual?