Imagine assim:
Servidores A, B e C
Comece a transação em cada um:
A BEGIN;
B BEGIN;
C BEGIN;
Faça alguma coisa em cada servidor:
A INSERT INTO foo VALUES (1,2,3,4);
B INSERT INTO foo VALUES (1,2,3,4);
C INSERT INTO foo VALUES (1,2,3,4);
Agora tente preparar as transações:
A PREPARE
Utilize a função pg_prepared_xact() em seus servidores para verificar
quais possuem transações pendentes.
momento-propaganda
Assista minha palestra no PGBR2011 para mais informações sobre funções
úteis do servidor.
/momento-propaganda
Pode deixar Leo.
[]´s
Rogério A Bassete
Pessoal,
Gostaria de saber se existe a possibilidade de fazer two phase
commit em agrupamentos distintos no PostgreSQL 9 ou superior. Pode
ser inclusive com auxilio de algum pacote contrib ou projeto externo.
Grato,
Rogério Bassete
___
pgbr-geral
Gostaria de saber se existe a possibilidade de fazer two phase
commit em agrupamentos distintos no PostgreSQL 9 ou superior. Pode
ser inclusive com auxilio de algum pacote contrib ou projeto externo.
O PostgreSQL tem total suporte a 2PC.
Só cuidado pra não cair no dilema quero x peço y que
2PC é a saída pra você mesmo? O que *exatamente* você quer fazer?
Tenho clientes no seguinte cenário:
Server01 - IP 200.x.x.x:5432 (Matriz)
Server02 - IP 201.x.x.x:5432 (Filial 01)
Server03 - IP 202.x.x.x:5432 (Filial 02)
Quero abrir uma transação entre os 3 servidores distintos, inserir um
2011/10/13 Rogerio Bassete roge...@microwork.inf.br:
2PC é a saída pra você mesmo? O que *exatamente* você quer fazer?
Quero abrir uma transação entre os 3 servidores distintos, inserir um
registro e commitar tudo.
Lembra que, com replicação, a dependência da disponibilidade dos três,
e da
Em 13 de outubro de 2011 17:21, Guimarães Faria Corcete DUTRA, Leandro
l...@dutras.org escreveu:
2011/10/13 Rogerio Bassete roge...@microwork.inf.br:
2PC é a saída pra você mesmo? O que *exatamente* você quer fazer?
Quero abrir uma transação entre os 3 servidores distintos, inserir um
Você pode utilizar então 2PC:
http://www.postgresql.org/docs/9.1/static/sql-prepare-transaction.html
Está disponível pelo menos desde o PostgreSQL 8.2 (talvez antes, não
tenho certeza nem documentação disponível).
Como nunca usei 2PC, já li essa página do manual e não consegui
simular. Na
2011/10/13 Rogerio Bassete roge...@microwork.inf.br:
Alguém poderia me fornecer um exemplo em psql ou link de uso de 2PC em
clusters distintos.
Não muda nada, porque cada cluster escuta numa porta diferente…
___
pgbr-geral mailing list
Não muda nada, porque cada cluster escuta numa porta diferente…
Leandro, sem querer abusar, pode me fornecer um LOG do psql que simula
isso de exemplo?
Grato,
Rogério A Bassete
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
Leandro, sem querer abusar, pode me fornecer um LOG do psql que simula
isso de exemplo?
Imagine assim:
Servidores A, B e C
Comece a transação em cada um:
A BEGIN;
B BEGIN;
C BEGIN;
Faça alguma coisa em cada servidor:
A INSERT INTO foo VALUES (1,2,3,4);
B INSERT INTO foo VALUES (1,2,3,4);
C
Le 2011-O-13 17h56, Rogerio Bassete a écrit :
Não muda nada, porque cada cluster escuta numa porta diferente…
Leandro, sem querer abusar, pode me fornecer um LOG do psql que simula
isso de exemplo?
Desculpa, não estou em condições de montar um testes agora…
--
2011/10/13 Flavio Henrique Araque Gurgel fha...@gmail.com:
[corte]
A sua aplicação deve ter ciência que os três PREPARE acima deram certo.
Se *todos* derem certo:
A COMMIT PREPARED 'xpto';
B COMMIT PREPARED 'xpto';
C COMMIT PREPARED 'xpto';
Terminou.
Utilize a função pg_prepared_xact() em
13 matches
Mail list logo