He importado datos a una nueva base de datos (aproximadamente 600m de filas de marca de tiempo, entero, doble). Luego creé algunos índices e intenté alterar algunas columnas (obtuve algunos problemas de espacio), la base de datos se aspira.
Ahora pgAdmin III me dice que el " Tamaño de los archivos temporales " es 50G ~ +.
- ¿Qué son estos archivos temporales? son estos como el registro de transacciones de SQL Server?
- ¿Cómo puedo deshacerme de ellos? Parece que la base de datos es mucho más grande de lo que debería (el tamaño total de la base de datos es de 91 GB)
Usando Posgres 9.4.1 en un servidor Windows 2012.
Una captura de pantalla de la pestaña de estadísticas de la base de datos:
postgresql
pgadmin
Ofiris
fuente
fuente
Respuestas:
No encontré nada en la documentación de pgAdmin, pero el código fuente revela la consulta detrás de estas entradas (agregadas para Postgres 9.2+):
Se reduce a:
Y el manual de Postgres tiene detalles para
pg_stat_database
:Tenga en cuenta que estos valores no contribuyen al tamaño de su base de datos. Pero indican que su configuración para
work_mem
puede ser demasiado baja, por lo que muchas operaciones de clasificación se derraman en el disco (que es muy lento en comparación con solo RAM).Relacionado:
Para realmente compactar el tamaño de su base de datos:
Para medir el tamaño:
Aparte: WAL (Write Ahead Log) sería equivalente en Postgres para el registro de transacciones en SQL Server. Buena explicación en esta respuesta relacionada sobre SO:
fuente
De acuerdo a:
http://www.postgresql.org/message-id/[email protected]
El contador temporal (archivos y espacio utilizado) muestra un total de todos los archivos temporales utilizados desde probablemente la creación del clúster. No refleja el espacio actual utilizado por los archivos temporales.
Mi sistema, por ejemplo, muestra casi 700 GB de archivos temporales utilizados, pero el espacio real ocupado por los archivos temporales en /var/lib/pgsql/9.3/data/base/pgsql_tmp es solo de 53 MB actualmente.
fuente