O Datastream usa o registro de transações WAL (registro de gravação antecipada) do PostgreSQL para ler os streams do PostgreSQL. O registro é armazenado em arquivos WAL no servidor de banco de dados. Cada registro no registro WAL representa uma única alteração nos dados reais em uma das tabelas do banco de dados.
Definir parâmetros de configuração para arquivos WAL do PostgreSQL
Recomendamos que você aplique as seguintes configurações ao seu banco de dados PostgreSQL:
max_slot_wal_keep_size
: defina esse parâmetro (disponível apenas para o PostgreSQL 13 e versões mais recentes) para limitar a quantidade de armazenamento usada pelo slot de replicação. Isso é particularmente importante para transações de longa duração que, em casos extremos, podem fazer com que o tamanho do arquivo WAL ocupe todo o armazenamento e cause falhas no banco de dados.statement_timeout
: defina esse parâmetro com um valor selecionado para reduzir a latência causada por transações de longa duração. Também é possível usarstatement_timeout
como uma medida de precaução alternativa para bancos de dados que não oferecem suporte amax_slot_wal_keep_size
.wal_sender_timeout
: defina esse parâmetro como0
(para desativar o tempo limite) ou como um valor maior ou igual a 10 minutos.
Se você planeja criar mais de 10 streams ou se o número de slots de replicação lógicas usados por outros recursos, além do número de streams planejados, exceder 10, modifique os seguintes parâmetros:
max_replication_slots
: aumente o valor desse parâmetro, dependendo do número de slots de replicação definidos para o banco de dados. Você precisa de um slot de replicação por fluxo. Só é possível definirmax_replication_slots
na inicialização do servidor.max_wal_senders
: aumente o valor desse parâmetro para que ele seja maior que o valor do parâmetromax_replication_slots
. Só é possível definirmax_wal_senders
ao iniciar o servidor.
A seguir
- Saiba mais sobre o PostgreSQL como fonte.
- Saiba mais sobre como configurar um banco de dados PostgreSQL de origem.