Picos de armazenamento no ApsaraDB RDS for PostgreSQL geralmente têm duas origens: acúmulo de write-ahead log (WAL) devido a cargas intensas de escrita ou arquivos temporários gerados por consultas custosas. Use o recurso storage analysis para identificar qual origem está consumindo espaço antes de tomar qualquer medida.
Acúmulo de logs WAL
Cargas de trabalho com muitas operações UPDATE geram entradas WAL mais rápido do que o sistema consegue arquivar ou limpar.
Solução: Expanda a capacidade de armazenamento da instância ou reduza a frequência das operações de escrita para permitir que o arquivamento do WAL acompanhe o ritmo.
Crescimento de arquivos temporários por consultas
Operações de ordenação e junção que transbordam para o disco como arquivos temporários podem consumir armazenamento rapidamente, especialmente durante picos de consultas concorrentes ou mal otimizadas.
Solução: Defina um limite de arquivo temporário por consulta para detectar consultas descontroladas antes que elas esgotem o armazenamento. Execute a seguinte instrução com a conta privilegiada da instância:
ALTER ROLE ALL SET temp_file_limit = [$Table_Space_Limit];
Substitua [$Table_Space_Limit] pelo limite máximo de armazenamento para arquivos temporários, em KB, permitido para cada consulta individual. Quando uma consulta ultrapassa esse limite, o PostgreSQL retorna um erro. Isso permite identificar a instrução SQL problemática antes que ela esgote o armazenamento.