Replicação entre servidores

Como instalar uma base SLAVE usando um backup do MASTER?

RTREPLICATOR.FAQ-18271
É possível fazer uma base SLAVE utilizando um arquivo de backup do master (que não inclui as tabelas de logs e nem dml_logs). Para tal, o backup existente já deve possuir o NODE do slave previamente cadastrado. Para tal, deve-se proceder da seguinte forma:

update dml_logs_cfg
set last_id_retrieved = (select id
    from dml_logs 
    where queue='F'
    order by id desc
    limit 1);
Atenção
Caso o backup já esteja criado, será necessário ajustar o valor do LAST_ID_RETRIEVED diretamente no slave, descobrindo o ultimo ID da fila 'F' que estava no momento em que o backup foi executado, executando um SQL tipo:
select max(id)
from dml_logs
where date between '2017-10-03 02:50' and '2017-10-03 03:00'

pg_dump --host 127.0.0.1 --username postgres --format custom --blobs --exclude-table logs --exclude-table dml_logs --file "eligo.backup" eligo
psql -h 127.0.0.1 -U postgres
create database eligo encoding 'UTF8' template = template0;
\q
pg_restore -h 127.0.0.1 -U postgres -v -d eligo eligo.backup

CREATE TABLE dml_logs
(
 id bigint NOT NULL,
 date timestamp without time zone NOT NULL,
 origin text NOT NULL,
 dml text NOT NULL,
 dml_parameters text,
 queue character varying(1),
 original_id bigint NOT NULL,
 original_date timestamp without time zone NOT NULL,
 error_message text,
 origin_table_name character varying(80),
 origin_record_id bigint,
 CONSTRAINT regra_pk_505355 PRIMARY KEY (id )
);
CREATE INDEX ak_dmllog_data
 ON dml_logs
 USING btree
 (date );
CREATE INDEX ak_dmllog_id
 ON dml_logs
 USING btree
 (original_id );
CREATE INDEX ak_dmllog_origin_record_id
 ON dml_logs
 USING btree
 (origin_record_id );
CREATE INDEX ak_dmllog_original_date
 ON dml_logs
 USING btree
 (original_date );
CREATE INDEX ak_dmllog_queue
 ON dml_logs
 USING btree
 (queue COLLATE pg_catalog."default" );
CREATE INDEX ak_dmllog_queue_id
 ON dml_logs
 USING btree
 (queue COLLATE pg_catalog."default" , id );

CREATE TABLE logs
(
 id bigint NOT NULL,
 data_hora timestamp without time zone NOT NULL,
 endereco_remoto character varying(160),
 usuario character varying(40),
 usuario_id bigint,
 descricao text,
 tipo character varying(30),
 origem character varying(160),
 registro character varying(160),
 sessao_id character varying(40),
 tempo integer,
 CONSTRAINT pk_logs PRIMARY KEY (id )
);
CREATE INDEX ak_logs_data
 ON logs
 USING btree
 (data_hora );
CREATE INDEX ak_logs_journaling
 ON logs
 USING btree
 (origem COLLATE pg_catalog."default" , registro COLLATE pg_catalog."default" , tipo COLLATE pg_catalog."default" );
CREATE INDEX ak_logs_registro
 ON logs
 USING btree
 (registro COLLATE pg_catalog."default" );
CREATE INDEX ak_logs_sessao
 ON logs
 USING btree
 (sessao_id COLLATE pg_catalog."default" );
CREATE INDEX ak_logs_tipo
 ON logs
 USING btree
 (tipo COLLATE pg_catalog."default" );
CREATE INDEX ak_logs_usuario
 ON logs
 USING btree
 (usuario COLLATE pg_catalog."default" );

update dml_logs_cfg set node_id=(select id from replication_nodes where global_name='M.2');

update sequences 
set next_value=2
, max_value=1
, range_size = range_size
, next_range_min_value=0
, next_range_max_value=0
where range_size is not null;

update jobs set ativo = 'N';


Depois destes passos, siga os passos normais de implantação do servidor:

Atenção
Sugere-se que o deploy deve utilizar a versão de Eligo do servidor que tiver a mais recente da rede, OU que a rede seja atualizada para a versão de produção mais recente antes da instalação.