Solução de problemas de armazenamento - Amazon Aurora

Solução de problemas de armazenamento

Se a quantidade de memória de trabalho necessária para operações de classificação ou criação de índice exceder a quantidade alocada pelo parâmetro work_mem, o Aurora PostgreSQL gravará o excesso de dados em arquivos de disco temporários. Quando ele grava os dados, o Aurora PostgreSQL usa o mesmo espaço de armazenamento que é utilizado para logs de erro e mensagem, ou seja, armazenamento local. Cada instância em seu cluster de banco de dados do Aurora PostgreSQL tem uma quantidade de armazenamento local disponível. A quantidade de armazenamento é baseada em sua classe de instância de banco de dados. Para aumentar a quantidade de armazenamento local, você precisa modificar a instância para usar uma classe de instância de banco de dados maior. Para conhecer as especificações de classes de instância de banco de dados, consulte Especificações de hardware para classes de instância de banco de dados para o Aurora.

Você pode monitorar o espaço de armazenamento local de seu cluster de banco de dados do Aurora PostgreSQL observando a métrica do Amazon CloudWatch para FreeLocalStorage. Essa métrica informa a quantidade de armazenamento disponível para cada instância no cluster de banco de dados do Aurora para tabelas temporárias e logs. Para obter mais informações, consulte Monitorar métricas do Amazon Aurora com o Amazon CloudWatch.

As operações de classificação, indexação e agrupamento começam na memória de trabalho, mas geralmente precisam ser transferidas para o armazenamento local. Se seu cluster de banco de dados do Aurora PostgreSQL ficar sem armazenamento local devido a esses tipos de operação, você poderá resolver o problema realizando uma das ações a seguir.

  • Aumente a quantidade de memória de trabalho. Isso reduz a necessidade de usar o armazenamento local. Por padrão, o PostgreSQL aloca 4 MB para cada operação de classificação, grupo e índice. Para conferir o valor da memória de trabalho atual para a instância do gravador do cluster de banco de dados do Aurora PostgreSQL, conecte-se à instância usando psql e execute o comando a seguir.

    postgres=> SHOW work_mem; work_mem ---------- 4MB (1 row)

    Você pode aumentar a memória de trabalho no nível da sessão antes de classificar, agrupar e outras operações da forma a seguir.

    SET work_mem TO '1 GB';

    Para obter mais informações sobre a memória de trabalho, consulte Resource Consumption (Consumo de recursos) na documentação do PostgreSQL.

  • Altere o período de retenção de logs para que os logs sejam armazenados por períodos mais curtos. Para saber como, consulte Arquivos de log do banco de dados do Aurora PostgreSQL.

Se o cluster de banco de dados do Aurora PostgreSQL for maior do que 40 TB, não use classes de instância db.t2, db.t3 ou db.t4g. Recomendamos usar as classes de instância de banco de dados T somente para servidores de desenvolvimento e teste, ou outros servidores que não sejam de produção. Para obter mais informações, consulte Tipos de classe de instância de banco de dados.