Sur mon serveur DEV, j'ai testé la réplication logique, et le retour au streaming après cela.
Maintenant wal_level = replica et j'ai deux esclaves :
pid |state |application_name |client_addr|write_lag |flush_lag |replay_lag |sync_priority|sync_state|
-----|----------|--------------------|-----------|---------------|---------------|---------------|-------------|----------|
12811|streaming |db-slave1 |*.*.*.* |00:00:00.000569|00:00:00.001914|00:00:00.001932| 0|async |
25978|streaming |db-slave2 |*.*.*.* |00:00:00.000568|00:00:00.001913|00:00:00.001931| 0|async |
Maintenant, je crée une nouvelle table et j'insère un enregistrement. Par exemple :
create table test_delete (
id int
);
insert into test_delete values (1);
delete from test_delete where id = 1;
La table a été créée et répliquée sur les deux esclaves, mais la requête de suppression a échoué avec une erreur :
Erreur SQL [55000] : ERREUR : Impossible de supprimer de la table "test_delete" car elle n'a pas d'identité de réplique et publie des suppressions. Astuce : Pour permettre la suppression à partir de la table, définissez REPLICA IDENTITY en utilisant ALTER TABLE.
J'ai donc besoin d'aide pour rétablir l'état avant le passage à la réplication logique et la possibilité de supprimer des tables.