Согласно документации PostgreSQL , поле temp_bytes
определяется как:
Общий объем данных, записанных во временные файлы по запросам в этой базе данных.Подсчитываются все временные файлы, независимо от того, почему был создан временный файл, и независимо от настройки log_temp_files.
Это означает, что число является суммой размеров временных файлов с момента создания базы данных (или с момента последнего pg_stat_reset ()), а not текущее использование временного файла.
Текущее использование может быть определено с использованием «файловых функций» вэкземпляр облачной базы данных, но в Cloud SQL обычный пользователь не может выполнить select pg_ls_dir('base/pgsql_temp')
, поскольку он зарезервирован только для суперпользователей.
Как вы сказали, Cloud SQL является управляемой службой, поэтому на данный момент нетспособ узнать текущее использование временного файла.
Одна вещь, которая определенно очистит число, которое вы видите, это pg_stat_reset (), хотя, как уже было сказано, речь идет не о текущем использовании временного файла, а об общей сумме;
Одна вещь гарантированно очищает временные файлы - это перезапуск экземпляра базы данных, так как частью процесса запуска является wiping каталог base/pgsql_temp
.