Obrigado mais uma novamente Euler.Irei postar abaixo o script com a modificacao de replicar mais uma tabela para o nodo 6, se tiver como voce verificar a alteracao esta correta. Lembrando que eu utilizo o comando SUBSCRIBE SET no nodo slave 6 que ira replicar.Abaixo o Script modificado#!/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 COMPUTADOR4SLAVEDBNAME5=sief #NOME DO BANCO DE DADOS DO COMPUTADOR5MASTERHOST=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 QUARTO COMPUTADORSLAVEHOST5=192.168.1.54 #HOSTNAME DO QUINTO 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';node 6 admin conninfo = 'dbname=$SLAVEDBNAME5 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST5 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');create set (id=2, 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=2, origin=1, id=22, fully qualified name = 'public.acl_acionista', comment='tabela 22');#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');# Criação do quarto nodo (slave5)store node (id=6, comment = 'Nodo slave 5', event node=1);store path (server = 1, client = 6, conninfo='dbname=$MASTERDBNAME user=$REPLICATIONUSER password=$PASSWORD host=$MASTERHOST port=5573'); store path (server = 6, client = 1, conninfo='dbname=$SLAVEDBNAME5 user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST5 port=5573');_EOF_ > [email protected] escreveu:>> Eu 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.> Eu estava preocupado com duas coisas: (i) aumento da carga no servidor> principal e (ii) sobrecarga dos links para as filiais.> >> 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.>>> No seu script faltou o comando SUBSCRIBE SET (não sei se você fez isso depois).> > Para replicar uma outra tabela para o nó #5, basta criar outro conjunto> (CREATE SET), adicionar essa outra tabela ao conjunto criado (SET ADD TABLE) e> depois inscrevendo o nó #5 no conjunto criado (SUBSCRIBE SET).> > > --> Euler Taveira de Oliveira> http://www.timbira.com/> _______________________________________________> pgbr-geral mailing list> [email protected]> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral>
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
