Slots de replicação inativos provocam o acúmulo contínuo de logs WAL (write-ahead logging). Se não forem tratados, esses logs acumulados esgotam o espaço em disco, bloqueiam a instância e impedem todas as requisições de escrita. Utilize o recurso de gerenciamento de logs WAL para identificar e excluir slots de replicação inativos antes que eles afetem sua carga de trabalho.
Exclua os slots de replicação inativos prontamente. O acúmulo de logs WAL pode causar a seguinte falha crítica:
Bloqueio da instância: quando o espaço em disco se esgota, a instância muda para o modo somente leitura e rejeita todas as requisições de escrita.
Não é possível reutilizar slots de replicação excluídos.
Contexto
Um slot de replicação rastreia o progresso da replicação e garante a retenção dos logs WAL até que todos os assinantes os consumam. Isso evita perda de dados na replicação em streaming.
Um slot torna-se inativo quando seu assinante se desconecta, apresenta configuração incorreta ou tem um longo atraso de replicação. Enquanto permanece inativo, o slot retém logs WAL indefinidamente — o checkpointer não consegue excluí-los até que o slot seja removido ou reativado.
Pré-requisitos
Antes de começar, verifique se você possui:
Uma instância do ApsaraDB RDS for PostgreSQL
Acesso ao console do ApsaraDB RDS
Gerencie slots de replicação
Visualize slots de replicação
No console:
Acesse a página Instances. Na barra de navegação superior, selecione a região onde sua instância está localizada. Clique em ID da instância.
No painel de navegação à esquerda, escolha Logs > WAL Logs.
Na aba WAL File Management, revise a lista de slots de replicação.
A coluna Whether Active (mapeada para o campo active) exibe o status de cada slot. Slots com status INACTIVE estão acumulando logs WAL.
A tabela a seguir descreve todos os campos da aba WAL File Management.
|
Coluna |
**Campo em |
Descrição |
|
Slot name |
|
Nome do slot de replicação. |
|
Slot type |
|
Tipo do slot de replicação: |
|
Plugin |
|
Plugin de saída utilizado pelo slot. O ApsaraDB RDS for PostgreSQL suporta |
|
Temporary slot |
|
Indica se o slot é temporário. Um slot temporário existe apenas durante a sessão atual e é excluído automaticamente ao final da sessão. Valores: |
|
Database name |
|
Banco de dados onde o slot de replicação reside. |
|
Accumulated WAL files |
Calculado pelo AliPG |
Volume de logs WAL acumulados para o slot, em MB. Calculado usando |
|
Logical subscription latency |
Calculado pelo AliPG |
Atraso de replicação no nó assinante correspondente a este slot, em segundos. Calculado a partir de |
|
Whether active |
|
Indica se o slot está em uso. Valores: |
Exclua um slot de replicação inativo
No console:
Na aba WAL File Management, localize um slot com
INACTIVEna coluna Whether Active.Caso o slot de replicação ainda esteja em uso, altere o estado para ACTIVE.
Se o slot não for mais necessário, clique em Delete na coluna Actions.
Não é possível excluir slots de replicação ativos.
Após a exclusão, os logs WAL retidos pelo slot são liberados automaticamente e limpos pelo checkpointer.
Observações de uso
Slots de replicação ativos não podem ser excluídos.
Um slot de replicação excluído não pode ser reutilizado. Se a replicação ainda for necessária, crie um novo slot.
Parâmetros relacionados
Os seguintes parâmetros do PostgreSQL controlam a retenção de logs WAL e o comportamento de checkpoint. Configure-os nos parâmetros da instância.
|
Parâmetro |
Descrição |
|
|
Tamanho do log WAL que aciona um checkpoint. |
|
|
Tamanho mínimo de log WAL retido em disco para reutilização em um checkpoint futuro. Logs WAL abaixo desse limiar são reciclados em vez de excluídos. |
|
|
Quantidade de memória compartilhada usada para dados WAL ainda não gravados em disco. |
Próximos passos
Referência de API
DescribeSlots: consulta todos os slots de replicação de uma instância.
DeleteSlot: exclui um slot de replicação de uma instância.