update postgres comando analyze postgresql vacuum

postgresql - comando - ¿Necesito reindexar después de vacío completo en Postgres 9.4



vacuum postgres 10 (1)

Estoy usando Postgres 9.4.

Acabo de correr vacío completo. Leí sobre las diferencias entre vacío y vacío completo y consideré mucho si debería ejecutar vacío o vacío completo. Por lo que puedo decir, necesitaba un vacío completo y el tamaño de mi base de datos bajó de 48 GB a 24 GB.

¿Los índices anteriores se habrían vuelto obsoletos luego de vaciarse por completo y tengo que ejecutar reindexar?

Ejecuté el "análisis completo de vacío detallado", así que el análisis se realiza junto con el vacío completo.

Leí en varios lugares que para Postgres> 9.0, no necesito reindexar después de vacío completo, pero quiero estar seguro de que ese es el caso.


Un REINDEX inmediatamente después de un VACUUM FULL es inútil porque VACUUM FULL reconstruye los índices.

Esto se menciona en la documentación 9.4 en Recuperar espacio en disco :

... para recuperar el espacio de disco excedente que ocupa, deberá usar VACUUM FULL, o alternativamente, CLUSTER o una de las variantes de reescritura de tablas de ALTER TABLE. Estos comandos reescriben una copia nueva de la tabla y crean nuevos índices para ella .

Usted tiene razón al decir que este no era el caso antes de la versión 9.0, que VACUUM FULL había reimplementado de manera diferente.

Hasta la versión 8.4, el documento de referencia para VACUUM mencionó la necesidad de reindexar:

La opción FULL no reduce los índices; Todavía se recomienda un REINDEX periódico. De hecho, a menudo es más rápido descartar todos los índices, VACÍO COMPLETO y volver a crear los índices.

Pero esta advertencia ahora es obsoleta.