Obrigado pela informacao EulerEu penso que a topologia ira suportar, pois o servidor que ira receber muitas tabelas esta na intranet da empresa, ja os outros 4 servidores esta nas filiais, estes ira ter receber poucas atualizacoes no maximo 5 tabelas.Se voce puder dar uma olhada neste script abaixo, este ja esta replicando 1 tabela para 4 nodos, se tiver como vc verificar como ficaria para replicar uma outra tabela para o 5 nodos.Desde ja agradeco#!/bin/shCLUSTERNAME=sief #DEFINA AQUI O NOME DO SEU CLUSTERMASTERDBNAME=sief #NOME DO BANCO DE DADOS DO COMPUTADOR1SLAVEDBNAME1=sief #NOME DO BANCO DE DADOS DO COMPUTADOR1SLAVEDBNAME2=sief #NOME DO BANCO DE DADOS DO COMPUTADOR2SLAVEDBNAME3=sief #NOME DO BANCO DE DADOS DO COMPUTADOR3SLAVEDBNAME4=sief #NOME DO BANCO DE DADOS DO COMPUTADOR3MASTERHOST=192.168.1.254 #HOSTNAME (NOME DA MAQUINA), DO COMPUTADOR1SLAVEHOST1=192.168.1.29 #HOSTNAME DO SEGUNDO COMPUTADORSLAVEHOST2=192.168.10.10 #HOSTNAME DO TERCEIRO COMPUTADORSLAVEHOST3=192.168.1.2 #HOSTNAME DO TERCEIRO COMPUTADORSLAVEHOST4=192.168.1.50 #HOSTNAME DO TERCEIRO COMPUTADORREPLICATIONUSER=postgres #USUARIO PARA A REPLICAÇÃO, PADRÃO: POSTGRESPASSWORD=SENHASLONIK=slonik$SLONIK <<_EOF_# ----------------------------------------------------------------------------------------# Define o nome do cluster de replicaçãocluster name = $CLUSTERNAME;# ----------------------------------------------------------------------------------------# As configurações "admin conninfo" são usadas pelo slonik para conectar aos nodosnode 1 admin conninfo = 'dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573';node 2 admin conninfo = 'dbname=$SLAVEDBNAME1 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST1 port=5573';node 3 admin conninfo = 'dbname=$SLAVEDBNAME2 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST2 port=5573';node 4 admin conninfo = 'dbname=$SLAVEDBNAME3 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST3 port=5573';node 5 admin conninfo = 'dbname=$SLAVEDBNAME4 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST4 port=5573';# ----------------------------------------------------------------------------------------# Inicia o primeiro nodo, o qual deve ser "1". Isso cria o schema _$CLUSTERNAME contendo todos os objetos específicos# do sistema de replicaçãoinit cluster ( id=1, comment = 'Nodo Master');# ----------------------------------------------------------------------------------------# O Slony-I organiza tabelas dentro de conjuntos.# CREATE SET# ID = ival -> ID do conjunto (set) a ser criado# ORIGIN = ival -> Nodo de origem inicial do conjunto create set (id=1, origin=1, comment='Todas as tabelas');# SET ADD TABLE# SET ID = ival -> ID do nodo em que a tabela será adicionada# ORIGIN = ival -> Nó de origem para este conjunto.# ID = ival -> ID único da tabela.# FULLY QUALIFIED NAME = 'string' -> esquema.tabelaset add table (set id=1, origin=1, id=1, fully qualified name = 'public.adm_enroll', comment='tabela 1');#set add table (set id=1, origin=1, id=2, fully qualified name = 'public.acl_acionista', comment='tabela 2');#set add table (set id=1, origin=1, id=3, fully qualified name = 'public.acs_chamada', comment='tabela 3');#set add table (set id=1, origin=1, id=4, fully qualified name = 'public.adm_agenda', comment='tabela 4'); # ----------------------------------------------------------------------------------------# Criação do segundo nodo (slave1) diz aos dois nodos como se conectar ao outro e como eles devem ouvir para eventos# STORE NODE# ID = ival -> O único, imutável ID numérico do novo nodo. O ID é imutável por ser usado como base para comunicação# entre os nodos.# COMMENT = 'description' -> Um texto descritivo adicionado à entrada do nodo na tabela sl_node# EVENT NODE = ival -> O ID do nodo usado para criar a configuração de evento que notifica a todos os nodo existentes# sobre o novo nodo.store node (id=2, comment = 'Nodo slave 1', event node=1);# STORE PATH# SERVER = ival -> ID do nodo de banco de dados para conectar.# CLIENT = ival -> ID do nodo do daemon de replicação se conectar. # CONNINFO = string -> PQconnectdb() argumento para estabelecer a conexão.# CONNRETRY = ival -> Número em segundos para aguardar outra tentativa para conectar é feita em caso servidor# indisponível. Padrão é 10. store path (server = 1, client = 2, conninfo='dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573');store path (server = 2, client = 1, conninfo='dbname=$SLAVEDBNAME1 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST1 port=5573'); # Criação do terceiro nodo (slave2)store node (id=3, comment = 'Nodo slave 2', event node=1);store path (server = 1, client = 3, conninfo='dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573');store path (server = 3, client = 1, conninfo='dbname=$SLAVEDBNAME2 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST2 port=5573');# Criação do quarto nodo (slave3)store node (id=4, comment = 'Nodo slave 3', event node=1);store path (server = 1, client = 4, conninfo='dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573');store path (server = 4, client = 1, conninfo='dbname=$SLAVEDBNAME3 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST3 port=5573');# Criação do quarto nodo (slave4)store node (id=5, comment = 'Nodo slave 4', event node=1);store path (server = 1, client = 5, conninfo='dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573');store path (server = 5, client = 1, conninfo='dbname=$SLAVEDBNAME4 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST4 port=5573');_EOF_
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
