Valeu novamente pela ajuda.Fiz o que você me informou, esta alteração errada, corrigir, porem o mesmo não replicou.Segui este script abaixo que você postou, este mesmo e rodando no servidor que esta o banco, então adaptei para os IPs e nomes e o quando vou rodar o mesmo da esta mensagem abaixo:<stdin>:7: ERROR: syntax error at or near clusterValeu novamente.> Bom... analisando um pouquinho melhor achei outra coisa errada;> > "node 3 admin conninfo = 'dbname=$DB2> host=$H2 user=$U password=$SENHA port=5573';"> > Repare que vc colocou como host "H2" ao invés de "H3".> > Para dar certo o que vc quer fz, tudo o que for feito para o primeiro slave deverá ser> feito igualmente para os outros conforme suas características próprias.> > Tenho um exemplo aqui e me guio sempre por ele. Dá uma olhada:> > $SLONIK <<_EOF_> #> ----------------------------------------------------------------------------------------> #Define o nome do cluster de replicação> > cluster name = $CLUSTERNAME;> > #> ----------------------------------------------------------------------------------------> # As configurações "admin conninfo" são usadas pelo slonik para conectar aos> nodos> > node 1 admin conninfo = 'dbname=$MASTERDBNAME user=$REPLICATIONUSER> password=$PASSWORD host=$MASTERHOST';> node 2 admin conninfo = 'dbname=$SLAVEDBNAME user=$REPLICATIONUSER> password=$PASSWORD host=$SLAVEHOST1';> node 3 admin conninfo = 'dbname=$SLAVEDBNAME user=$REPLICATIONUSER> password=$PASSWORD host=$SLAVEHOST2';> > #> ----------------------------------------------------------------------------------------> # Inicia o primeiro nodo, o qual deve ser "1". Isso cria o schema _$CLUSTERNAME> contendo todos os objetos específicos> # do sistema de replicação> > init 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.tabela> > set add table (set id=1, origin=1, id=1, fully qualified name = 'public.tb_1',> comment='tabela 1');> set add table (set id=1, origin=1, id=2, fully qualified name = 'public.tb_2',> comment='tabela 2');> set add table (set id=1, origin=1, id=3, fully qualified name = 'public.tb_3',> comment='tabela 3');> set add table (set id=1, origin=1, id=4, fully qualified name = 'public.tb_4',> 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');> store path (server = 2, client = 1, conninfo='dbname=$SLAVEDBNAME> user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST1');> > # 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');> store path (server = 3, client = 1, conninfo='dbname=$SLAVEDBNAME> user=$REPLICATIONUSER password=$PASSWORD host=$SLAVEHOST2');> > _EOF_> > > > > --- Em seg, 17/5/10, [email protected] <[email protected]> escreveu:> >De: [email protected] <[email protected]>> Assunto: [pgbr-geral] Slony com 3 Slaves> Para: [email protected]> Data: Segunda-feira, 17 de Maio de 2010, 17:17> > Olá a todos!> Talvez possa me ajudar.> Consegui fazer o slony replicar> master para um slave, porem quando eu fui tentar replicar de um master para varios> slaves o terceiro nodo não recebe a replicação.> Abaixo segue a> conf do arquivo que comunica com o cluster.> > #!/bin/sh> CLUSTER=sief> #DEFINA AQUI O NOME DO SEU CLUSTER> DB1=sief #NOME DO BANCO DE DADOS DO> COMPUTADOR1> DB2=sief #NOME DO BANCO DE DADOS DO COMPUTADOR2> DB3=sief #NOME DO> BANCO DE DADOS DO COMPUTADOR3> H1=192.168.1.254 #HOSTNAME (NOME DA MAQUINA), DO> COMPUTADOR1> H2=192.168.1.29 #HOSTNAME DO SEGUNDO COMPUTADOR> H3=192.168.10.10 #HOSTNAME DO SEGUNDO COMPUTADOR> U=postgres #USUARIO PARA A> REPLICAÇÃO, PADRÃO: POSTGRES> SENHA=SENHA> slonik> <<_EOF_> cluster name = $CLUSTER;> node 1 admin conninfo = 'dbname=$DB2> host=$H1 user=$U password=$SENHA port=5573';> node 2 admin conninfo = 'dbname=$DB2> host=$H2 user=$U password=$SENHA port=5573';> node 3 admin conninfo = 'dbname=$DB2> host=$H2 user=$U password=$SENHA port=5573';> > init cluster (id = 1, comment 'Cluster Master');> > #especifica o set de replicacao> create set (id = 1,> origin = 1, comment = 'objetos replicados');> > #tabelas que seram replicadas> set add table(set id=1,origin=1,id=10,full qualified name='public.adm_enroll');> > #no escravo e caminho que ele fara, especificar event node !> store node (id> = 3, event node= 1,comment = 'Slave');> store path (server = 1, client = 2,conninfo> = 'dbname=$DB1 host=$H1 port=5573 user=$U password=$SENHA');> store path (server 2, client = 1,conninfo = 'dbname=$DB2 host=$H2 port=5573 user=$U> password=$SENHA');> store path (server = 3, client = 1,conninfo = 'dbname=$DB3 host=$H3 port=5573 user=$U> password=$SENHA');> > > store listen (origin = 1, provider = 1, receiver 2);> store listen (origin = 2, provider = 2, receiver = 1);> store listen> (origin = 3, provider = 2, receiver = 1);> Este script eu rodo no servidor, ja nos 2> cliente eu rodo este script de sicronizar abaixo:> #!/bin/sh> CLUSTERNAME=sief> MASTERDBNAME=sief> SLAVEDBNAME=sief> REPLICATIONUSER=postgres> SENHA=SENHA> MASTERHOST=192.168.1.254> SLAVEHOST=192.168.1.29> slonik <<_EOF_> # ----> # This defines which namespace the> replication system uses> # ----> cluster name = $CLUSTERNAME;> # ----> # Admin conninfo's are used by the slonik> program to connect> # to the node> databases. So these are the PQconnectdb arguments> # that connect from the administrators> workstation (where> # slonik is> executed).> # ----> node 1 admin conninfo 'dbname=$MASTERDBNAME host=$MASTERHOST port=5573> user=$REPLICATIONUSER> password=$SENHA';> node 2 admin conninfo> = 'dbname=$SLAVEDBNAME host=$SLAVEHOST port 5573 user=$REPLICATIONUSER> password=$SENHA';> # ----> # Node 2 subscribes set 1> # ----> subscribe set ( id = 1, provider = 1,> receiver = 2, forward = no);> _EOF_> > Segundo slave:> #!/bin/sh> CLUSTERNAME=sief> MASTERDBNAME=sief> SLAVEDBNAME=sief> REPLICATIONUSER=postgres> SENHA=SENHA> MASTERHOST=192.168.1.254> SLAVEHOST=192.168.10.10> slonik <<_EOF_> # ----> # This defines which namespace the> replication system uses> # ----> cluster name = $CLUSTERNAME;> # ----> # Admin conninfo's are used by the slonik> program to connect> # to the node> databases. So these are the PQconnectdb arguments> # that connect from the administrators> workstation (where> # slonik is> executed).> # ----> node 1 admin conninfo 'dbname=$MASTERDBNAME host=$MASTERHOST port=5573> user=$REPLICATIONUSER> password=$SENHA';> node 2 admin conninfo> = 'dbname=$SLAVEDBNAME host=$SLAVEHOST port 5573 user=$REPLICATIONUSER> password=$SENHA';> # ----> # Node 2 subscribes set 1> # ----> subscribe set ( id = 1, provider = 1,> receiver = 2, forward = no);> _EOF_> Alguem sabe o que pode ser? lembrando que> se eu retirar o 3 nodo replica 100%.> -----Anexo incorporado-----> > _______________________________________________> 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>
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
