Compartilhar via


Servidores de envio/replicação

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_slot_wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho máximo do WAL que pode ser reservado por slots de replicação.
Tipo de dados Número inteiro
Valor padrão -1
Valores permitidos -1
Tipo de parâmetro read-only
Documentação max_slot_wal_keep_size

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho dos arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 400
Valores permitidos 400
Tipo de parâmetro read-only
Documentação wal_keep_size

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_slot_wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho máximo do WAL que pode ser reservado por slots de replicação.
Tipo de dados Número inteiro
Valor padrão -1
Valores permitidos -1
Tipo de parâmetro read-only
Documentação max_slot_wal_keep_size

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho dos arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 400
Valores permitidos 400
Tipo de parâmetro read-only
Documentação wal_keep_size

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_slot_wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho máximo do WAL que pode ser reservado por slots de replicação.
Tipo de dados Número inteiro
Valor padrão -1
Valores permitidos -1
Tipo de parâmetro read-only
Documentação max_slot_wal_keep_size

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho dos arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 400
Valores permitidos 400
Tipo de parâmetro read-only
Documentação wal_keep_size

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_slot_wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho máximo do WAL que pode ser reservado por slots de replicação.
Tipo de dados Número inteiro
Valor padrão -1
Valores permitidos -1
Tipo de parâmetro read-only
Documentação max_slot_wal_keep_size

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho dos arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 400
Valores permitidos 400
Tipo de parâmetro read-only
Documentação wal_keep_size

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_slot_wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho máximo do WAL que pode ser reservado por slots de replicação.
Tipo de dados Número inteiro
Valor padrão -1
Valores permitidos -1
Tipo de parâmetro read-only
Documentação max_slot_wal_keep_size

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_size

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tamanho dos arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 400
Valores permitidos 400
Tipo de parâmetro read-only
Documentação wal_keep_size

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_segments

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número de arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 25
Valores permitidos 25
Tipo de parâmetro read-only
Documentação

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout

max_replication_slots

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Especifica o número máximo de slots de replicação ao qual o servidor pode dar suporte.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 2-262143
Tipo de parâmetro static
Documentação max_replication_slots

max_wal_senders

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número máximo de processos de remetente do WAL em execução simultânea.
Tipo de dados Número inteiro
Valor padrão 10
Valores permitidos 5-100
Tipo de parâmetro static
Documentação max_wal_senders

Observações específicas do Azure

O valor padrão para o parâmetro do servidor max_wal_senders definido quando você provisiona a instância do servidor flexível do Banco de Dados do Azure para PostgreSQL nunca deve ser reduzido abaixo de 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication.

Ao considerar a necessidade de aumentar max_wal_senders para um valor muito mais alto para poder lidar com a replicação lógica de um número substancial de tabelas, tenha em mente os seguintes pontos importantes:

  • A replicação lógica de um grande número de tabelas não precisa necessariamente de um grande número de remetentes WAL.
  • A única razão pela qual você precisa de um remetente WAL separado por tabela ou grupo de tabelas é se você precisar de assinaturas separadas para cada uma dessas tabelas ou grupos.
  • Qualquer que seja o número de remetentes WAL que estejam sendo utilizados para replicação física e lógica, todos eles se tornam ativos de uma só vez, sempre que qualquer back-end grava algo no log de gravação antecipada. Quando isso acontece, todos os remetentes WAL atribuídos para fazer a replicação lógica são ativados para:
    1. Decodificar todos os novos registros no WAL,
    2. Filtrar os registros de log nos quais eles não estão interessados,
    3. Replicar os dados relevantes para cada um deles.
  • Os remetentes WAL são semelhantes às conexões no sentido de que, se estiverem ociosos, não importa quantos existem. No entanto, se eles estiverem ativos, apenas competirão pelos mesmos recursos e o desempenho pode acabar sendo terrivelmente ruim. Isso é especialmente verdadeiro para remetentes com replicação lógica, porque a decodificação lógica é bastante cara para a CPU. Cada trabalhador precisa decodificar todo o WAL, mesmo que ele replique apenas as operações que afetam uma única tabela, e isso representa uma pequena porcentagem de todos os dados no log de gravação antecipada. Para replicação física, isso não é tão importante, porque os remetentes WAL não consomem CPU tão intensamente e costumam ser limitados pela largura de banda da rede primeiro.
  • Portanto, em geral, é melhor não ter muito mais remetentes WAL do que vCores.
  • É uma boa prática adicionar espaço para alguns remetentes WAL extras para acomodar o crescimento futuro ou picos temporários nas conexões de replicação. Os dois exemplos a seguir podem ajudar a ilustrar isso melhor.
    • Para um servidor com 8 vCores, alta disponibilidade desabilitada, 2 réplicas de leitura e 3 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (0) + slots físicos para réplicas de leitura (2) + slots lógicos (3) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (1) = 6.
    • Para um servidor com 16 vCores, alta disponibilidade habilitada, 4 réplicas de leitura e 5 slots de replicação lógica, talvez você queira configurar max_wal_senders como a soma de slots físicos para HA (2) + slots físicos para réplicas de leitura (4) + slots lógicos (5) + alguns adicionais para crescimento futuro, considerando vCores disponíveis (2) = 13.
  • Se você ainda considera que o valor máximo permitido para este parâmetro é muito baixo para suas necessidades, entre em contato conosco, descreva seu cenário em detalhes e explique o que você considera que seria o valor mínimo aceitável que você precisaria para que seu cenário funcionasse corretamente.

track_commit_timestamp

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Coleta o tempo de confirmação da transação.
Tipo de dados boolean
Valor padrão off
Valores permitidos on,off
Tipo de parâmetro static
Documentação track_commit_timestamp

wal_keep_segments

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o número de arquivos do WAL mantidos para os servidores em espera.
Tipo de dados Número inteiro
Valor padrão 25
Valores permitidos 25
Tipo de parâmetro read-only
Documentação

wal_sender_timeout

Atributo Valor
Categoria Servidores de envio/replicação
Descrição Define o tempo máximo de espera da replicação do WAL.
Tipo de dados Número inteiro
Valor padrão 60000
Valores permitidos 60000
Tipo de parâmetro read-only
Documentação wal_sender_timeout