No terceiro nodo vc tem que mudar o parâmetro "receiver" para "3" e não "2" 
como estava.

subscribe set ( id = 1, provider = 1, receiver = 3, forward = no);        

Faz aí e diz se funcionou.

[]s

--- 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

Responder a