Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

592
Vistas
Cómo disminuir el tamaño de una gran tabla postgresql

Tengo una tabla postgresql que está "congelada", es decir, no ingresan nuevos datos. La tabla se utiliza estrictamente para fines de lectura. La tabla contiene alrededor de 17 millones de registros. La tabla tiene 130 columnas y se puede consultar de varias maneras diferentes. Para hacer las consultas más rápidas, creé índices para todas las combinaciones de filtros que se pueden usar. Así que tengo un total de unos 265 índices sobre la mesa. Cada índice ocupa aproximadamente 1,1 GB. Esto hace que el tamaño total de la tabla sea de alrededor de 265 GB. También he aspirado la mesa.

Pregunta

  • ¿Hay alguna manera de reducir aún más el uso del disco de esta tabla?
  • ¿Hay una mejor manera de manejar consultas para tablas "congeladas" que nunca ingresan datos?
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si su tabla o índices están inflados, entonces el VACUUM FULL tablename podría reducirlos. Pero si no están hinchados, esto no servirá de nada. Esta no es una operación benigna, bloqueará la tabla por un período de tiempo (necesitará reconstruir cientos de índices, probablemente un largo período de tiempo) y generará grandes cantidades de IO y WAL, el último de los cuales será especialmente problemático para réplicas Así que lo probaría en un clon que no sea de producción para ver si realmente reduce las cosas y ver cuánto tiempo de una ventana de mantenimiento necesitará declarar.

Aparte de eso, sea más juicioso en su elección de índices. ¿Cómo obtuvo la lista de "todas las combinaciones de filtros que se pueden usar"? ¿Fue inspeccionando su código fuente, o simplemente abordando las consultas lentas una por una hasta que se quedó sin consultas lentas? Tal vez pueda mirar instantáneas de pg_stat_user_indexes tomadas con unos días de diferencia para ver si realmente se están utilizando.

¿Son en su mayoría índices de dos columnas?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda