Replicação entre servidores > Implantação das bases replicadas

Reimplantar uma base MASTER (a partir do único SLAVE)

RTREPLICATOR.RQ-009

Descrição

Cenário

Em uma rede de replicação ocorreu um problema com o servidor MASTER que deverá ser reinstalado a partir dos dados obtidos no único servidor SLAVE.

Fluxo normal

Para proceder com a reimplantação do MASTER, executar os passos abaixo.


No SLAVE

update dml_logs set queue='F' where queue='A';
update dml_logs_cfg set last_id_retrieved=0;

No novo MASTER

psql -h 127.0.0.1 -U postgres
create database [base] encoding 'utf-8' template template0;
\q
pg_restore -h 127.0.0.1 -U postgres -v -d [base] [arquivo.backup]
update dml_logs_cfg
set server_url=null, secret_key=null, last_id_retrieved=0
, node_id=(select id from replication_nodes where global_name='M')
, logging_level=1, start='S', file_sync_interval=null, last_file_sync_master_time=null
, last_file_sync_local_time=null
, file_sync_ignored_roots='/tlu';
update sequences
set next_value = 1 + case when max_value>next_range_max_value then  max_value else next_range_max_value end
, max_value = 0
, next_range_min_value=0
, next_range_max_value=0
where range_size > 0;

update jobs set ativo='N';

drop sequence SEQ_DML_LOGS;
create sequence SEQ_DML_LOGS;

Finalizando

Uma vez que a base de dados estiver OK, os serviços do ELIGO deverão ser reiniciados e os mesmos testes de replicação sugeridos para uma nova instalação deverão ser executados.