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

Responder a