Re: [pgbr-geral] Criar diagrama - modelo relacional

2016-11-08 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2016-11-08 18:27 GMT-02:00 Euler Taveira :
> On 08-11-2016 17:23, Ronilson wrote:
>> Existe algum software free que eu possa utilizar para fazer isto?
>>
> Use o SchemaSpy [1].

Ou o pgAutodoc, ou o SQL::Fairy.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Criar diagrama - modelo relacional

2016-11-08 Por tôpico Euler Taveira
On 08-11-2016 17:23, Ronilson wrote:
> Existe algum software free que eu possa utilizar para fazer isto?
> 
Use o SchemaSpy [1].


[1] http://schemaspy.sourceforge.net/


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

Re: [pgbr-geral] Criar diagrama - modelo relacional

2016-11-08 Por tôpico Alcione Ferreira
Boa tarde!
Sugiro usar o Umbrello http://www.umbrello.org/

Em 08/11/2016 17:23, "Ronilson"  escreveu:

> Boa tarde gente,
>
> Estou trabalhando com um banco (com 52 tabelas) em PostgreSQL e agora
> preciso criar o diagrama dele.
>
> Eu cheguei a testar a versão free do software "DeZign for Databases", que
> gera o diagrama mostrando a cardinalidade, conforme o que preciso. Todavia,
> a versão free dele limitações e não exporta todas as tabelas que preciso.
>
> Existe algum software free que eu possa utilizar para fazer isto?
>
> P.S.:
> 1) Esclareço que isto é apenas para um trabalho acadêmico e, portanto, não
> tenho interesse nem condições de pagar por uma licença de software.
>
> Desde já agradeço a quem puder ajudar.
>
> Att.
>
> Ronilson Santos
>
> ___
> 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

[pgbr-geral] Criar diagrama - modelo relacional

2016-11-08 Por tôpico Ronilson
Boa tarde gente,

Estou trabalhando com um banco (com 52 tabelas) em PostgreSQL e agora
preciso criar o diagrama dele.

Eu cheguei a testar a versão free do software "DeZign for Databases", que
gera o diagrama mostrando a cardinalidade, conforme o que preciso. Todavia,
a versão free dele limitações e não exporta todas as tabelas que preciso.

Existe algum software free que eu possa utilizar para fazer isto?

P.S.:
1) Esclareço que isto é apenas para um trabalho acadêmico e, portanto, não
tenho interesse nem condições de pagar por uma licença de software.

Desde já agradeço a quem puder ajudar.

Att.

Ronilson Santos
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Configuracao do PGBouncer

2016-11-08 Por tôpico lu moraes santos
Ola boa tarde
Foi resolvido o problema da configuracao no windows, era problema na versao
1.7.2 pra windows 64.

Eu instalei a versao 1.6.1 e rodou legal

Muito grato pela atenção.


[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 8 de novembro de 2016 15:35, Emanuel Araújo  escreveu:

> > No userlist.txt :
> > "postgres" "wg091514"
>
> Acredito que voce esteja passando usuário e senha em textplain para o
> arquivo userlist.txt.  Na documentação fala que a partir da versão 9.0 o
> mesmo precisa está com hash md5 [1].
>
> Se for realmente isso substitua o conteúdo do arquivo userlist.txt para:
>
> "postgres" "md583b2db21f99f5243a9ab66b969805d4a"
>
> Ou pode rodar esse comando que ele já deixará a(s) string(s) pronta(s):
> psql -q -t -c "SELECT '\"'||rolname||'\" \"'|| rolpassword||'\"' FROM
> pg_authid ;"
>
>
> [1] https://pgbouncer.github.io/config.html#authentication-file-format
>
> Em 2 de novembro de 2016 08:24, lu moraes santos 
> escreveu:
>
>> Ola bom dia Euler.
>>
>>
>> Entao no linux eu consegui colocar pra rodar com a ajuda de um colega.
>>
>> Eu acompanhei a receita de bolo e faltou apenas o seguinte comando:
>>
>> su postgres -c '/usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini'
>>  (devo lembrar que sou muito leigo em Linux)
>>
>> eu achei que era so subir o servico do pacote com service pgbouncer start;
>>
>> porem minha aplicação nao roda com o pool_mode transaction por causa do
>> prepare, entao vamos rodar como session.
>>
>> No Windows nao consiguimos de jeito nenhum.
>>
>>
>> Grato
>>
>>
>>
>>
>> Em 31 de out de 2016 23:15, "Euler Taveira" 
>> escreveu:
>>
>>> On 31-10-2016 08:09, lu moraes santos wrote:
>>> > Eu tentei ontem instalar tb no debian 8 , qdo fiz o apt-get install
>>> > pgbouncer ele instalou a versao 1.5, a atual é 1.7.2 , porem fiz a
>>> > receitinha de bolo da configuracao e tb deu conexão rejeitada.
>>> >
>>> > Voce acha melhor instalar a mais atual???
>>> >
>>> Não.
>>>
>>> Há algo muito esquisito com o seu ambiente. Sem lógica conectar via psql
>>> e não conseguir via pgbouncer. Você tem certeza que o postgres está no
>>> ar e aceitando conexões?
>>>
>>> Qual é a saída do log do pgbouncer?
>>>
>>> Como você iniciando o serviço do pgbouncer? Pergunto isso porque você
>>> pode estar mexendo em um arquivo de configuração que não é o do serviço
>>> atual.
>>>
>>>
>>> --
>>>Euler Taveira   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
>>
>
>
>
> --
>
>
> *Atenciosamente,Emanuel Araújo*
>
> *Linux Certified, DBA PostgreSQL*
>
> ___
> 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

Re: [pgbr-geral] Configuracao do PGBouncer

2016-11-08 Por tôpico Emanuel Araújo
> No userlist.txt :
> "postgres" "wg091514"

Acredito que voce esteja passando usuário e senha em textplain para o
arquivo userlist.txt.  Na documentação fala que a partir da versão 9.0 o
mesmo precisa está com hash md5 [1].

Se for realmente isso substitua o conteúdo do arquivo userlist.txt para:

"postgres" "md583b2db21f99f5243a9ab66b969805d4a"

Ou pode rodar esse comando que ele já deixará a(s) string(s) pronta(s):
psql -q -t -c "SELECT '\"'||rolname||'\" \"'|| rolpassword||'\"' FROM
pg_authid ;"


[1] https://pgbouncer.github.io/config.html#authentication-file-format

Em 2 de novembro de 2016 08:24, lu moraes santos 
escreveu:

> Ola bom dia Euler.
>
>
> Entao no linux eu consegui colocar pra rodar com a ajuda de um colega.
>
> Eu acompanhei a receita de bolo e faltou apenas o seguinte comando:
>
> su postgres -c '/usr/sbin/pgbouncer -d /etc/pgbouncer/pgbouncer.ini'
>  (devo lembrar que sou muito leigo em Linux)
>
> eu achei que era so subir o servico do pacote com service pgbouncer start;
>
> porem minha aplicação nao roda com o pool_mode transaction por causa do
> prepare, entao vamos rodar como session.
>
> No Windows nao consiguimos de jeito nenhum.
>
>
> Grato
>
>
>
>
> Em 31 de out de 2016 23:15, "Euler Taveira" 
> escreveu:
>
>> On 31-10-2016 08:09, lu moraes santos wrote:
>> > Eu tentei ontem instalar tb no debian 8 , qdo fiz o apt-get install
>> > pgbouncer ele instalou a versao 1.5, a atual é 1.7.2 , porem fiz a
>> > receitinha de bolo da configuracao e tb deu conexão rejeitada.
>> >
>> > Voce acha melhor instalar a mais atual???
>> >
>> Não.
>>
>> Há algo muito esquisito com o seu ambiente. Sem lógica conectar via psql
>> e não conseguir via pgbouncer. Você tem certeza que o postgres está no
>> ar e aceitando conexões?
>>
>> Qual é a saída do log do pgbouncer?
>>
>> Como você iniciando o serviço do pgbouncer? Pergunto isso porque você
>> pode estar mexendo em um arquivo de configuração que não é o do serviço
>> atual.
>>
>>
>> --
>>Euler Taveira   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
>



-- 


*Atenciosamente,Emanuel Araújo*

*Linux Certified, DBA PostgreSQL*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Emanuel Araújo
>
>
>
> É isso mesmo Emanuel.
>
> Ele apenas provisiona o recurso (espaço ou IOPs), e ainda diz que "you can
> scale" ou seja, não se compromete a fazer um "automatic scale".
>
>
Conhece algum serviço que faça esse escalonamento automático?


-- 


*Atenciosamente,Emanuel Araújo*

*Linux Certified, DBA PostgreSQL*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Felipe Pereira
Em 8 de novembro de 2016 12:11, Emanuel Araújo  escreveu:

> > To pra dizer que depende. O que tu ta precisando fazer exatamente?
>
> na verdade preciso aumentar o armazenamento de forma automática, sem a a
> necessidade de manualizar pelo portal ou por scripts.  A ideia é que o
> provedor cuide disso.
>
> Sobre o resize pra baixo, sei disso.  E a ideia é só crescer mesmo.
>
> > Não. Nessa modalidade de discos, ele apenas provisiona a quantidade de
> IOPS que você definir, independente do  tamanho do armazenamento. O que eu
> particularmente faço é usar o tamanho do disco como provedor de IOPS, acaba
> saindo muito mais barato
>
> Então, quando ela fala em: "With just a few clicks in the AWS Management
> Console, you can deploy a PostgreSQL database with automatically configured
> database parameters for optimal performance. Amazon RDS for PostgreSQL
> database instances can be provisioned with either standard storage or
> Provisioned IOPS storage. *Once provisioned, you can scale from 5GB to
> 6TB of storage* and from 1,000 IOPS to 30,000 IOPS. Amazon RDS for
> PostgreSQL also enables you to scale out beyond the capacity of a single
> database deployment for read-heavy database workloads"
>
> Ele não o faz automático.  É isso?
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


É isso mesmo Emanuel.

Ele apenas provisiona o recurso (espaço ou IOPs), e ainda diz que "you can
scale" ou seja, não se compromete a fazer um "automatic scale".
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Emanuel Araújo
> To pra dizer que depende. O que tu ta precisando fazer exatamente?

na verdade preciso aumentar o armazenamento de forma automática, sem a a
necessidade de manualizar pelo portal ou por scripts.  A ideia é que o
provedor cuide disso.

Sobre o resize pra baixo, sei disso.  E a ideia é só crescer mesmo.

> Não. Nessa modalidade de discos, ele apenas provisiona a quantidade de
IOPS que você definir, independente do  tamanho do armazenamento. O que eu
particularmente faço é usar o tamanho do disco como provedor de IOPS, acaba
saindo muito mais barato

Então, quando ela fala em: "With just a few clicks in the AWS Management
Console, you can deploy a PostgreSQL database with automatically configured
database parameters for optimal performance. Amazon RDS for PostgreSQL
database instances can be provisioned with either standard storage or
Provisioned IOPS storage. *Once provisioned, you can scale from 5GB to 6TB
of storage* and from 1,000 IOPS to 30,000 IOPS. Amazon RDS for PostgreSQL
also enables you to scale out beyond the capacity of a single database
deployment for read-heavy database workloads"

Ele não o faz automático.  É isso?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Sebastian Webber
Em 8 de novembro de 2016 11:56, Cleiton Luiz Domazak <
cleitondoma...@gmail.com> escreveu:

>
>
> A Amazon conta 3 IOPS por GB, podendo chegar a 3000 IOPS (se você utiliza
> muito IOPS ocasionalmente, a Amazon tem o Burst que independente de quantos
> IOPS você tenha, ele libera até 3000IOPS, utilizando créditos de IOPS não
> utilizados, caso use 100%, ou seja 3000IOPS, irá durar 30 minutos). [1]
>

Isso é valido apenas pra discos GP2. discos do tipo io1 tem os IOPS
dedicados conforme contrato. É importante lembrar que o througput máximo do
disco gp2 é 160mbps e do io1 é 320mbps e que cada instancia ec2 tem um
limite de troughput também (varia de tipo pra tipo).

Particularmente eu acho o burst mais prejudicial do que util.


>
> Porém se a sua aplicação necessita de mais do que 3000 IOPS, ai realmente
> você terá que utilizar o provisionamento de IOPS no disco, ou ir para uma
> instância EC2, e criar um RAID com vários volumes EBS para alcançar os IOPS
> necessários.
>
> [1] - http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/
> CHAP_Storage.html
>
>
>
Eu gosto da idéia de fazer um RAID 0 com varios volumes de gp2 de 1 tb pra
dar uma quantidade alta de IOPS e troughtput na soma de todos os volumes.
Adotar essa idéia te obriga a ter um standby que funcione a contento pois o
raid pode quebrar se apenas um dos discos falhar.

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Sebastian Webber
Em 8 de novembro de 2016 11:18, Emanuel Araújo  escreveu:

> Srs.
>
> Dúvida:
>
> O serviço da Amazon RDS, no tocante ao provisionamento de IOPS (Storage e
> IOPS), faz o escalonamento de espaço de forma automática ?  Ou seja, ao
> contratar esse serviço mais o provisionamento, quando a base de dados
> chegar no limite, automaticamente eles irão escalar o armazenamento ?
>

Se eu lembro bem eles fazem o upgrade do disco via faiolver: sobem uma nova
replica com mais disco, assumem ela como master, apagam o antigo master e
recriam a replica com o mesmo tamanho.


>
> Alguém usa algo do tipo, ou sempre que precisam escalar armazenamento,
> fazem de forma manual ?
>

To pra dizer que depende. O que tu ta precisando fazer exatamente?

-- 
Sebastian Webber
http://swebber.me
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Cleiton Luiz Domazak
2016-11-08 11:18 GMT-02:00 Emanuel Araújo :

> Srs.
>
> Dúvida:
>
> O serviço da Amazon RDS, no tocante ao provisionamento de IOPS (Storage e
> IOPS), faz o escalonamento de espaço de forma automática ?  Ou seja, ao
> contratar esse serviço mais o provisionamento, quando a base de dados
> chegar no limite, automaticamente eles irão escalar o armazenamento ?
>

Não. Nessa modalidade de discos, ele apenas provisiona a quantidade de IOPS
que você definir, independente do tamanho do armazenamento. O que eu
particularmente faço é usar o tamanho do disco como provedor de IOPS, acaba
saindo muito mais barato.

A Amazon conta 3 IOPS por GB, podendo chegar a 3000 IOPS (se você utiliza
muito IOPS ocasionalmente, a Amazon tem o Burst que independente de quantos
IOPS você tenha, ele libera até 3000IOPS, utilizando créditos de IOPS não
utilizados, caso use 100%, ou seja 3000IOPS, irá durar 30 minutos). [1]

Porém se a sua aplicação necessita de mais do que 3000 IOPS, ai realmente
você terá que utilizar o provisionamento de IOPS no disco, ou ir para uma
instância EC2, e criar um RAID com vários volumes EBS para alcançar os IOPS
necessários.

[1] -
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html



E no caso do RDS, você deve ter o cuidado quando for fazer o aumento no
tamanho do armazenamento, pois realizar o processo contrário(diminuir) não
é possível, apenas criando uma nova instância.

>
> Alguém usa algo do tipo, ou sempre que precisam escalar armazenamento,
> fazem de forma manual ?
>
>
>
> --
>
>
> *Atenciosamente,Emanuel Araújo*
>
> *Linux Certified, DBA PostgreSQL*
>
> ___
> 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

Re: [pgbr-geral] SUM de varios periodos em uma mesma consulta

2016-11-08 Por tôpico Alan Tavares
Obrigado Osvaldo não tinha pensado nisso valeu

Em 8 de novembro de 2016 09:09, Osvaldo Kussama 
escreveu:

> Em 08/11/16, Alan Tavares escreveu:
> > Pessoal
> >
> > Estou com uma dúvida o caso é o seguinte
> > Tenho uma tabela de vendas e tenho que fazer um relatório que o gerente
> > quer saber a quantidade vendida em 3 períodos 7, 15 e 30 dias de todos os
> > produtos na mesma tela alem de poder escolher um pediodo customizado.
> > A tabela de pedidos tem em torno de 300 mil registros e mensalmente algo
> em
> > torno de 20 mil.
> > Já consegui convencer de que não daria pra fazer em tempo real e limitar
> o
> > periodo para no maximo 90 dias.
> > A solução q fiz foi a seguinte
> > Criei uma view materializada com os dados das vendas dos ultimos 90
> dias, a
> > partir dessa view criei mais 3 views materializadas para cada um dos
> > periodos 7, 15, 30
> > onde faço o sum dos produtos e para exibição dou um join nessas 3 views
> > materializadas e em uma outra view do produto com a quantidade em
> estoque.
> > Segue abaixo.
> >
> > select a.produto,
> >   a.estoque,
> >   b.qnt_7,
> >   c.qnt_15,
> >   d.qnt_30
> > from vendas.vw_produtos a
> > inner join vendas.vm_vendas_7 b on a.id = b.id
> > inner join vendas.vm_vendas_15 c on a.id = c.id
> > inner join vendas.vm_vendas_30 d on a.id = d.id
> >
> > Existe alguma solução que de para fazer os sum de periodos diferentes na
> > mesma consulta.
> >
> > Desde já obrigado.
> >
> > Alan Costa
> >
>
> Utilize o CASE.
> Para o dado período some a quantidade, caso contrário 0.
>
> Algo do tipo:
> ... SUM( CASE WHEN (sua_data < CURRENT_DATE-INTERVAL '7 DAYS') THEN
> quantidade ELSE 0 END) ...
>
> Osvaldo
> ___
> 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

[pgbr-geral] PostgreSQL + AWS RDS

2016-11-08 Por tôpico Emanuel Araújo
Srs.

Dúvida:

O serviço da Amazon RDS, no tocante ao provisionamento de IOPS (Storage e
IOPS), faz o escalonamento de espaço de forma automática ?  Ou seja, ao
contratar esse serviço mais o provisionamento, quando a base de dados
chegar no limite, automaticamente eles irão escalar o armazenamento ?

Alguém usa algo do tipo, ou sempre que precisam escalar armazenamento,
fazem de forma manual ?



-- 


*Atenciosamente,Emanuel Araújo*

*Linux Certified, DBA PostgreSQL*
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SUM de varios periodos em uma mesma consulta

2016-11-08 Por tôpico Osvaldo Kussama
Em 08/11/16, Alan Tavares escreveu:
> Pessoal
>
> Estou com uma dúvida o caso é o seguinte
> Tenho uma tabela de vendas e tenho que fazer um relatório que o gerente
> quer saber a quantidade vendida em 3 períodos 7, 15 e 30 dias de todos os
> produtos na mesma tela alem de poder escolher um pediodo customizado.
> A tabela de pedidos tem em torno de 300 mil registros e mensalmente algo em
> torno de 20 mil.
> Já consegui convencer de que não daria pra fazer em tempo real e limitar o
> periodo para no maximo 90 dias.
> A solução q fiz foi a seguinte
> Criei uma view materializada com os dados das vendas dos ultimos 90 dias, a
> partir dessa view criei mais 3 views materializadas para cada um dos
> periodos 7, 15, 30
> onde faço o sum dos produtos e para exibição dou um join nessas 3 views
> materializadas e em uma outra view do produto com a quantidade em estoque.
> Segue abaixo.
>
> select a.produto,
>   a.estoque,
>   b.qnt_7,
>   c.qnt_15,
>   d.qnt_30
> from vendas.vw_produtos a
> inner join vendas.vm_vendas_7 b on a.id = b.id
> inner join vendas.vm_vendas_15 c on a.id = c.id
> inner join vendas.vm_vendas_30 d on a.id = d.id
>
> Existe alguma solução que de para fazer os sum de periodos diferentes na
> mesma consulta.
>
> Desde já obrigado.
>
> Alan Costa
>

Utilize o CASE.
Para o dado período some a quantidade, caso contrário 0.

Algo do tipo:
... SUM( CASE WHEN (sua_data < CURRENT_DATE-INTERVAL '7 DAYS') THEN
quantidade ELSE 0 END) ...

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] SUM de varios periodos em uma mesma consulta

2016-11-08 Por tôpico Alan Tavares
Pessoal

Estou com uma dúvida o caso é o seguinte
Tenho uma tabela de vendas e tenho que fazer um relatório que o gerente
quer saber a quantidade vendida em 3 períodos 7, 15 e 30 dias de todos os
produtos na mesma tela alem de poder escolher um pediodo customizado.
A tabela de pedidos tem em torno de 300 mil registros e mensalmente algo em
torno de 20 mil.
Já consegui convencer de que não daria pra fazer em tempo real e limitar o
periodo para no maximo 90 dias.
A solução q fiz foi a seguinte
Criei uma view materializada com os dados das vendas dos ultimos 90 dias, a
partir dessa view criei mais 3 views materializadas para cada um dos
periodos 7, 15, 30
onde faço o sum dos produtos e para exibição dou um join nessas 3 views
materializadas e em uma outra view do produto com a quantidade em estoque.
Segue abaixo.

select a.produto,
  a.estoque,
  b.qnt_7,
  c.qnt_15,
  d.qnt_30
from vendas.vw_produtos a
inner join vendas.vm_vendas_7 b on a.id = b.id
inner join vendas.vm_vendas_15 c on a.id = c.id
inner join vendas.vm_vendas_30 d on a.id = d.id

Existe alguma solução que de para fazer os sum de periodos diferentes na
mesma consulta.

Desde já obrigado.

Alan Costa
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral