

# Gerenciar sincronização de slots lógicos do RDS para PostgreSQL
<a name="Appendix.PostgreSQL.CommonDBATasks.pglogical.slot.synchronization"></a>

A partir da comunidade PostgreSQL 17, um novo recurso para sincronizar automaticamente os slots de replicação lógica dos servidores primários para os servidores em espera foi introduzido por meio do parâmetro `sync_replication_slots` ou da função `pg_sync_replication_slots()` relacionada, que sincroniza manualmente os slots na execução.

Esses recursos estão disponíveis a partir do RDS para PostgreSQL 17. Uma configuração típica terá uma instância primária e sua [réplica de leitura](USER_PostgreSQL.Replication.ReadReplicas.md), bem como um assinante de replicação lógica para a primária.

Garanta que a assinatura seja criada com a opção de failover definida como verdadeira:

```
CREATE SUBSCRIPTION subname CONNECTION 'host=...' PUBLICATION pubname WITH (failover = true);
```

Isso cria um slot lógico no publicador com o failover habilitado.

```
postgres=> SELECT slot_name, slot_type, failover FROM pg_catalog.pg_replication_slots;
 slot_name | slot_type | failover 
-----------+-----------+----------
 subname   | logical   | t
(1 row)
```

Ao habilitar a sincronização de slots, todos os slots de replicação lógica de failover na primária são criados automaticamente nos standbys físicos e sincronizados periodicamente. Garante que os seguintes valores foram definidos por meio de [grupos de parâmetros](USER_WorkingWithParamGroups.Associating.md):
+ `rds.logical_replication` deve ser `1` para permitir a replicação lógica.
+ `hot_standby_feedback` deve ser `1` no standby.
+ `rds.logical_slot_sync_dbname` no standby deve ser definido como um nome de banco de dados válido.

  O valor padrão do parâmetro é `postgres`. Se a instância de publicação lógica tiver o banco de dados `postgres`, o parâmetro padrão não precisará ser alterado.
+ `synchronized_standby_slots` na primária deve ser configurado para o slot de replicação física do standby que deve ser sincronizado.
+ `sync_replication_slots` deve ser `1` para habilitar a sincronização automática.

Com um slot de assinatura habilitado para failover e os valores dos parâmetros acima, quando um standby é promovido, o assinante pode alterar sua assinatura dessa instância recém-promovida e continuar a replicação lógica sem problemas.