On Tue, Jun 20, 2017 at 7:26 PM Ivanelson Nunes <ivanelsonnu...@gmail.com>
wrote:
> Então como juntar esses bancos num único banco? E claro mantendo a
consistência e o dado sempre atualizado.

Qual a sua intenção por trás desse "juntar"? Se quiser que os dados estejam
replicados em um local só, os outros ramos desta thread já falam de opções
boas sobre replicação lógica.

Mas também tem a chance de você só estar querendo que eles estejam
*acessíveis* através de um banco único. Se for só isso, fica até mais
simples: faça um banco novo, um schema para cada loja, sendo que cada um
contém foreign tables para as respectivas tabelas dessas suas replicações
locais.

Assim você consegue consultar em um banco só loja1.tabela1, loja1.tabela2,
... loja2.tabela1, loja2, tabela2....
Em cima disso eu criaria visões com union all para ajudar as suas
consultas, assim as tuplas ficam todas "juntas" e marcadas com as suas
respectivas procedências:
create view public.tabela1 as
  select 'loja1', tabela1.* from loja1.tabela1
    union all
  select 'loja2', tabela1.* from loja2.tabela1
    union all
  ....

Ajuste os nomes dos schemas adequadamente se tiver mais de um sendo usado
nas lojas e/ou se não estiver usando o public. E visões materializadas
podem ser úteis também.

Boa sorte
-- 

Arthur Nascimento - tureba
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a