Fabrizio Bom dia Minha aplicação não referencia o nome do esquema e renomear os esquemas e alterar search_path para o padrão mencionado parece bem tranquilo.
A ideia de agregar por Herança parece boa. Supondo que eu siga esse modelo e como hoje eu já replico via Streaming replication e cada banco tem sua instância(sua porta) separada, então será que o Streaming replication atender a replicação usando esse modelo de distinção por esquema? @ivanelson []s Em 22 de junho de 2017 09:14, Fabrízio de Royes Mello < fabri...@timbira.com.br> escreveu: > > > Em 21 de junho de 2017 19:35, Euler Taveira <eu...@timbira.com.br> > escreveu: > > > > Em 21 de junho de 2017 18:37, Ivanelson Nunes <ivanelsonnu...@gmail.com> > escreveu: > >> > >> > >> São todos iguais... Em todos os BD's de origem é o mesmo nome de > esquema, mesmas tabelas, mesmas colunas, etc.... > > > > > > Você só vai conseguir agregar dados de diferentes origens se a > identificação da tupla (geralmente a chave) for única para todas as lojas. > Isso quer dizer que você terá que (i) ter id único para registro na tabela > contrato de todas as lojas ou (ii) ter uma coluna adicional "loja" em cada > tabela a ser replicada para permitir uma identificação única dos registros. > Tudo isso quer dizer que o seu modelo de dados deve estar preparado para > essa agregação de múltiplas fontes de dados. > > > > > > Outra alternativa seria cada loja ter o "seu" schema, tipo "loja1", > "loja2", "loja3", ..., "loja200"... assim os objetos seriam diferentes, e > na "matriz" outro schema também... isso é fácil ajustando adequadamente o > "search_path" em cada instância para deixar transparente para a aplicação > pois provavelmente ela não qualifica o schema... ou qualifica ao usar em > SQL Ivanelson?? > > Nesta base central em um outro esquema especial, tipo "agregador" poderia > criar toda a estrutura e por herança cada tabela de cada esquema herdar > teste, algo do tipo: > > > CREATE SCHEMA agregador; > CREATE SCHEMA matriz; > CREATE SCHEMA loja1; > CREATE SCHEMA loja2; > > CREATE TABLE agregador.contrato(...); > CREATE TABLE matriz.contrato(..) INHERITS (agregador.contrato); > CREATE TABLE loja1.contrato(..) INHERITS (agregador.contrato); > CREATE TABLE loja2.contrato(..) INHERITS (agregador.contrato); > > > Desta forma temos os dados isolados por esquema e, caso necessário, também > todos dados em um único ponto no esquema "agregador". > > Meus 0.01 centavos! > > Att, > > -- > Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/ > PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral