De acordo com a documentação do PostgreSQL , o campo
temp_bytes
é definido como:Ou seja, o número é a soma dos tamanhos dos arquivos temporários desde a criação do banco de dados (ou desde o último pg_stat_reset()), e não o uso atual do arquivo temporário.
O uso atual pode ser determinado usando as 'funções de arquivo' em uma instância de banco de dados fora da nuvem, mas no Cloud SQL um usuário normal não pode executar
select pg_ls_dir('base/pgsql_temp')
pois isso é reservado apenas para superusuários. Como você disse, o Cloud SQL é um serviço gerenciado, portanto, no momento, não há como ver o uso atual do arquivo temporário.
Uma coisa que definitivamente limpará o número que você vê é pg_stat_reset(), embora, como dito antes, não seja sobre o uso atual do arquivo temporário, mas um total histórico;
Uma coisa garantida para limpar arquivos temporários é reiniciar da instância do banco de dados, como parte do processo de inicialização está limpando o
base/pgsql_temp
diretório.