sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo eliminar los archivos temporales no utilizados de Postgres administrado por Google Cloud SQL?

Según la documentación de PostgreSQL , el campo temp_bytes se define como:

Lo que significa que el número es la suma de los tamaños de archivos temporales desde la creación de la base de datos (o desde el último pg_stat_reset()), y no el uso actual del archivo temporal.

El uso actual podría determinarse mediante las 'funciones de archivo' en una instancia de base de datos que no sea en la nube, pero en Cloud SQL un usuario normal no puede ejecutar select pg_ls_dir('base/pgsql_temp') ya que esto está reservado solo para superusuarios.

Como dijiste, Cloud SQL es un servicio administrado, por lo tanto, en este momento, no hay forma de ver el uso actual del archivo temporal.

Una cosa que definitivamente borrará el número que ve es pg_stat_reset(), aunque como se dijo antes, no se trata del uso actual del archivo temporal, sino de un total histórico;

Una cosa garantizada para limpiar los archivos temporales es reiniciar de la instancia de la base de datos, como parte del proceso de inicio está limpiando el base/pgsql_temp directorio.