Re: [pgbr-geral] [Bulk] Re: Duvida uso de indice em query

2007-12-18 Por tôpico Marco Aurélio V . da Silva
Segue,

Merge Join  (cost=44317.04..49633.90 rows=354263 width=120) (actual 
time=2623.057..3117.772 rows=8977 loops=1)
  Merge Cond: (outer.codpagador = inner.codcliente)
  -  Sort  (cost=21157.60..21159.06 rows=582 width=77) (actual 
time=505.269..518.227 rows=8977 loops=1)
Sort Key: a.codpagador
-  Seq Scan on frete01 a  (cost=0.00..21130.88 rows=582 width=77) 
(actual time=350.462..449.936 rows=8977 loops=1)
  Filter: ((datadespac = '2007-11-01'::date) AND (datadespac 
= '2007-11-30'::date))
  -  Sort  (cost=23159.44..23463.79 rows=121740 width=54) (actual 
time=2117.751..2342.650 rows=127033 loops=1)
Sort Key: b.codcliente
-  Seq Scan on frete02 b  (cost=0.00..8131.40 rows=121740 
width=54) (actual time=1.913..382.693 rows=121740 loops=1)
Total runtime: 3136.306 ms

desde já agradeço a atenção recebida.

T+

Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
- Original Message - 
From: Euler Taveira de Oliveira [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Monday, December 17, 2007 3:36 PM
Subject: [Bulk] Re: [pgbr-geral] Duvida uso de indice em query


Marco Aurélio V. da Silva wrote:

 Estou com o seguinte problema, ao executar uma determinada query em 2 db 
 com
 estruturas iguais mais com dados diferentes eu obtenho resultados 
 totalmente
 diferentes com relação ao tempo de execução. Em um vai igual um tiro, em
 outro demora muito, o volume de dados é mais ou menos o mesmo. Rodei um
 explain pra ver o motivo, e vi que em um database usa o indice na hora de
 fazer o relaciomanto entre tabelas, no outro naum. Verifiquei nos 2 db´s e
 vi que o indice existe nos 2, mas em apenas um db é um usado. O que fazer 
 ?


EXPLAIN ANALYZE, por favor. Desconfio que (i) você não executa ANALYZE
frequentemente, ou seja, estatísticas desatualizadas (ii) o volume dos
dados nos dois sistemas estão fazendo com que algoritmos diferentes
sejam escolhidos.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
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] Release do 8.3

2007-12-18 Por tôpico Mr J.L.
Ola,
alguem poderia informar um link p/ o Release
notes for 8.3 em portugues? ou até mesmo uma matéria
comentando as novas funcionalidades, etc... (em
portugues, por favor)

obrigado a todos. 


  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [Bulk] Re: Duvida uso de indice em query

2007-12-18 Por tôpico Marco Aurélio V . da Silva
Só complementando, já rodei as rotinas de manutenção do bd, Vacuum, Analyze, 
Reindex, e nada.

Fico no aguardo de qualquer sugestão.

Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
- Original Message - 
From: Euler Taveira de Oliveira [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Monday, December 17, 2007 3:36 PM
Subject: [Bulk] Re: [pgbr-geral] Duvida uso de indice em query


Marco Aurélio V. da Silva wrote:

 Estou com o seguinte problema, ao executar uma determinada query em 2 db 
 com
 estruturas iguais mais com dados diferentes eu obtenho resultados 
 totalmente
 diferentes com relação ao tempo de execução. Em um vai igual um tiro, em
 outro demora muito, o volume de dados é mais ou menos o mesmo. Rodei um
 explain pra ver o motivo, e vi que em um database usa o indice na hora de
 fazer o relaciomanto entre tabelas, no outro naum. Verifiquei nos 2 db´s e
 vi que o indice existe nos 2, mas em apenas um db é um usado. O que fazer 
 ?


EXPLAIN ANALYZE, por favor. Desconfio que (i) você não executa ANALYZE
frequentemente, ou seja, estatísticas desatualizadas (ii) o volume dos
dados nos dois sistemas estão fazendo com que algoritmos diferentes
sejam escolhidos.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
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] check foreign key

2007-12-18 Por tôpico junior Prado
Galera,

Como desligar e ligar a checagem de chaves estrangeiras?

check foreign key = 0; //está certo?

-- 
Valter Cezar Prado Junior
Analista TI

Sem saber como fazer ele fez!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] [Bulk] Re: Duvida uso de indice em query

2007-12-18 Por tôpico Marco Aurélio V . da Silva
Mais detalhes:

Qtd de registros das tabelas no bd com problemas:
frete01:  58.995
frete02: 121.784

Qtd de registros das tabelas no bd que esta funcionando corretamente:
frete01:  55.204
frete02: 112.455

lembrando que os indices das tabelas nos 2 bd´s esta igual, e já foi 
executado o reindex.

Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
- Original Message - 
From: Euler Taveira de Oliveira [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Monday, December 17, 2007 3:36 PM
Subject: [Bulk] Re: [pgbr-geral] Duvida uso de indice em query


Marco Aurélio V. da Silva wrote:

 Estou com o seguinte problema, ao executar uma determinada query em 2 db 
 com
 estruturas iguais mais com dados diferentes eu obtenho resultados 
 totalmente
 diferentes com relação ao tempo de execução. Em um vai igual um tiro, em
 outro demora muito, o volume de dados é mais ou menos o mesmo. Rodei um
 explain pra ver o motivo, e vi que em um database usa o indice na hora de
 fazer o relaciomanto entre tabelas, no outro naum. Verifiquei nos 2 db´s e
 vi que o indice existe nos 2, mas em apenas um db é um usado. O que fazer 
 ?


EXPLAIN ANALYZE, por favor. Desconfio que (i) você não executa ANALYZE
frequentemente, ou seja, estatísticas desatualizadas (ii) o volume dos
dados nos dois sistemas estão fazendo com que algoritmos diferentes
sejam escolhidos.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
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] Release do 8.3

2007-12-18 Por tôpico Fernando Ike
Em Tue, 18 Dec 2007 07:39:17 -0300 (ART)
Mr J.L. [EMAIL PROTECTED] escreveu:

 Ola,


   Olá.


 alguem poderia informar um link p/ o Release
 notes for 8.3 em portugues? ou até mesmo uma matéria
 comentando as novas funcionalidades, etc... (em
 portugues, por favor)


   Ainda não tem, o Diogo estava trabalhando no Release Notes, em breve
teremos ele em pt_BR. :)


dois centavos,
-- 
Fernando Ike
http://www.midstorm.org/~fike/weblog
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Segundo benchmark com PostgreSQL, 7 % atrás do Oracle

2007-12-18 Por tôpico Fernando Ike
Caros,


O título é bem provocativo e distorce onde foi o ganho ou de quem
foi a culpa pela performance mas tenho muita esperança que num próximo
teste com o 8.3 essa diferença tenha de diminuir ou quem sabe superar. 

-
http://www.midstorm.org/~fike/weblog/index.php/2007/12/18/postgresql-a-cada-dia-com-a-performance-mais-proxima-ao-oracle/



dois centavos,
-- 
Fernando Ike
http://www.midstorm.org/~fike/weblog
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Blocksize para PG

2007-12-18 Por tôpico Aluisio Gouveia
 Existe ganho significativo de performace trabalhando com blocos de
 8k? Estou com algumas duvidas sobre o tamanho ideal do bloco do disco
 para utilização com SGDB´s em especial o PG, utilizo EXT3 com kernel
 2.6, nele o tamanho default do bloco é de 4k, tentei formatar
 forcando blocos de 8k mas nao consigo montar a particao, entao
 gostaria de saber se alguem poderia falar um pouco sobre o assunto ou
 se poderia me indicar um artigo.



Existe uma ganho mais perceptível, diferente de significativo, pois
 este tipo de ganho pode ser mascarado pelo tipo de Disco (SAS, SCSI,
 SATA, etc.) e/ou Tipo de RAID (0+1, 5, 1+0, etc...). O que realmente
 faz ganhar desempenho é a modelagem correta, o melhor SQL e a melhor
 configuração para máquina, *nix e postgresql.conf. Mexer no tamanho do
 bloco e outras partes do código do PostgreSQL ou no tamanho de bloco do
 Sistema de Arquivo é ir muito longe no tuning que fica um
 questionamento no que quanto isso acarreta de trabalho e quanto ainda
 pode permanecer estável. Colocando mais lenha na fogueira é como trocar
 qualquer *Sistema de Arquivos* por RAW Devices, o ganho em performance
 vale a pena em relação ao custo de mantê-lo?

Teimo em afirmar que não é a melhor alternativa, nunca irá conseguir
 resolver de uma aplicação mal feita e performance deste tipo é para
 situações muito extremas que as empresas possam pagar por profissionais
 dedicados para mantê-las. Muitas vezes aqui na lista o telles e dutra
 comentar sobre uma boa consulta ou boa modelagem.


Mas enfim, se queres prosseguir com os testes (que é justo...) tem
 um link de um tempo atrás que possa interessar a ti.

 - http://www.potentialtech.com/wmoran/postgresql.php


Obrigado pela resposta fernando, vou dar uma olhada no link.



-- 
 Cordialmente;

Aluisio Gouveia

AVISO DE CONFIDENCIALIDADE!

Esta mensagem pode conter informacao  confidencial e/ou privilegiada. Se voce 
nao
for o destinatario  ou  a  pessoa  autorizada a receber esta mensagem, nao 
devera
utilizar, copiar, alterar, divulgar a informacao  nela  contida ou tomar 
qualquer
acao baseada  nessas  informacoes. Se voce recebeu  esta mensagem por engano, 
por
favor avise imediatamente o emitente,respondendo ao e-mail e em seguida 
apague-o.
Agradecemos sua cooperacao.

This  message  may contain confidential and/or privileged information. If you 
are
not the addressee  or authorized to  receive this for the addressee, you must 
not
use, copy, disclose, change or  take  any  action  based  on  this message or 
any
information herein. If you  have  received  this  message in error, please 
notify
the sender immediately by replying this e-mail and delete this message.
Thank you for your cooperation.

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


Re: [pgbr-geral] Release do 8.3

2007-12-18 Por tôpico Fabio Telles
2007/12/18, Mr J.L. [EMAIL PROTECTED]:
 Ola,
 alguem poderia informar um link p/ o Release
 notes for 8.3 em portugues? ou até mesmo uma matéria
 comentando as novas funcionalidades, etc... (em
 portugues, por favor)

 obrigado a todos.

http://www.postgresql.org/docs/8.3/static/release-8-3.html

[]s
Fábio Telles
-- 
blog: http://www.midstorm.org/~telles/
e-mail / jabber: [EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico saulo Mendes
desculpe a minha ignorância mas...como assim não vi bug?
 
ao invés de ser 3 years 11 mons 30 days
não deveria ser 4 years 29 days 



 Date: Mon, 17 Dec 2007 20:06:00 -0200 From: [EMAIL PROTECTED] To: 
 pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] idade gerada 
 com erro  saulo Mendes wrote:   age dt_nascimento  3 years 11 mons 30 
 days 18/12/2003supondo que a data base seja hoje (17/12) o 
 resultado deveria ser  4 years 29 days   Ugh?! Não vi bug.  euler=# 
 select * from foo; a  2003-12-18 2003-12-17 (2 registros)  
 euler=# select age(a),a,now()::date from foo; age | a | now 
 -++ 3 years 11 mons 30 days 
 | 2003-12-18 | 2007-12-17 4 years | 2003-12-17 | 2007-12-17 (2 registros) 
   --  Euler Taveira de Oliveira http://www.timbira.com/ 
 ___ pgbr-geral mailing list 
 pgbr-geral@listas.postgresql.org.br 
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_
Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça  o MSN Mobile!
http://mobile.live.com/signup/signup2.aspx?lc=pt-br___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico Dickson Guedes
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

saulo Mendes escreveu:
 .hmmessage P { margin:0px; padding:0px } body.hmmessage {
 FONT-SIZE: 10pt; FONT-FAMILY:Tahomaage
  dt_nascimento 3 years 11 mons 30 days   18/12/2003

Pelo que eu vi o paciente nasceu em 18 de Dezembro de 2003. Certo?

 supondo que a data base seja hoje (17/12) o resultado deveria ser
  4 years 29 days

Supondo data base 17 de Dezembro de 2007 ele vai completar 4 anos
apenas no dia 18. Certo?

O que há de errado? Ou será que não estou enxergando o erro ai? :-S

[ ]s
Guedes


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFHZ8kQfNj5A+QkLMoRAsKiAJ9/LPibuA4LN9EH3syDIoifh+9wQQCfRymV
ot+Y8b5NQkKuWfNnDL+7r9Y=
=6ecy
-END PGP SIGNATURE-

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


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico Jeft
Realmente nao há bug...

leve em consideração:

18/12/2003
18/12/2004 1 ano
18/12/2005 2 anos 
18/12/2006 3 anos
18/12/2007 4 anos, porem a data base é dia 17/12/2007, assim sendo ficaria 3 
anos, 11 meses completos (até 18 de novembro), e 30 dias... 

jeft

  - Original Message - 
  From: saulo Mendes 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Tuesday, December 18, 2007 11:07 AM
  Subject: Re: [pgbr-geral] idade gerada com erro



  desculpe a minha ignorância mas...como assim não vi bug?
   

  ao invés de ser 3 years 11 mons 30 days
  não deveria ser 4 years 29 days 



--

   Date: Mon, 17 Dec 2007 20:06:00 -0200
   From: [EMAIL PROTECTED]
   To: pgbr-geral@listas.postgresql.org.br
   Subject: Re: [pgbr-geral] idade gerada com erro
   
   saulo Mendes wrote:
   
age dt_nascimento
3 years 11 mons 30 days 18/12/2003

supondo que a data base seja hoje (17/12) o resultado deveria ser
4 years 29 days

   Ugh?! Não vi bug.
   
   euler=# select * from foo;
   a
   
   2003-12-18
   2003-12-17
   (2 registros)
   
   euler=# select age(a),a,now()::date from foo;
   age | a | now
   -++
   3 years 11 mons 30 days | 2003-12-18 | 2007-12-17
   4 years | 2003-12-17 | 2007-12-17
   (2 registros)
   
   
   -- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
   ___
   pgbr-geral mailing list
   pgbr-geral@listas.postgresql.org.br
   https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--
  Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça o MSN Mobile! Crie já o seu! 


--


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



--


  No virus found in this incoming message.
  Checked by AVG Free Edition. 
  Version: 7.5.503 / Virus Database: 269.17.4/1188 - Release Date: 17/12/2007 
14:13
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] ajuda em query

2007-12-18 Por tôpico Mr J.L.
pessoal preciso de ajuda em uma query.

hj tenho essa condicao no where de uma determinada
query:
select ...
from contrato
where
co_tipo not in  (select tpoid from tipo where
((corretora='t' or seguradora='t') and tpoid92) )

agora eu queria tirar a subselect e fazer um join
exemplo:
select ...
from contrato,tipo
where conoid=tpoid
and ((corretora='f' and seguradora='f') or tpoid=92)) 

o problema é q isso:
select tpoid from tipo where ((corretora='t' or
seguradora='t')and tpoid92) 

é diferente disso:
select tpoid from tipo where ((corretora='f' and
seguradora='f') or tpoid=92) 

resumindo,
alguem poderia me ajudar c/ a condicao dessa
query,tipo, p/ que a condicao da query atenda a
subselect q existia anteriormente?

obrigado, aguardo o retorno.




  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] checagem em dados

2007-12-18 Por tôpico icjunior07
Fala galera, blz?

Sera que alguem sabe se no PG tem alguma ferramenta que faz checagem nos dados 
do banco para corrigir, mais ou
menos parecido com as opcoes CHECK  e REPAIR do Mysql?

E que possuo um banco que acho que estao com dados corrompidos, e gostaria de 
saber todos que estao e fazer uma
checagem.

Obrigado, 

[]'s

Junior

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


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico saulo Mendes
pessoal, entendi a questão. Muito obrigado pela compreensão. Mas fica uma outra 
dúvida:
 
será que existe uma forma de se considerar que 30 dias = 1 mês ??
 
é que estou trabalhando com alguns médicos e, sabe né? ô povinho difícil!
 
 


From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Tue, 18 Dec 2007 11:22:26 
-0200Subject: Re: [pgbr-geral] idade gerada com erro



Saulo,
 
A idade só se completa no próprio dia - assim:
 
18-12-2003 ~ 18-12-2004 = 1 ano
18-12-2003 ~ 18-12-2005 = 2 anos
18-12-2003 ~ 18-12-2006 = 3 anos
18-12-2003 ~ 17-12-2007 = 3 anos, 11 meses, 30 dias
18-12-2003 ~ 18-12-2007 = 4 anos
 
[]´s
 
 
Marcos Ferrari FernandesLibra Informática

- Original Message - 
From: saulo Mendes 
To: Comunidade PostgreSQL Brasileira 
Sent: Tuesday, December 18, 2007 11:07 AM
Subject: Re: [pgbr-geral] idade gerada com erro
desculpe a minha ignorância mas...como assim não vi bug? ao invés de ser 3 
years 11 mons 30 daysnão deveria ser 4 years 29 days 

 Date: Mon, 17 Dec 2007 20:06:00 -0200 From: [EMAIL PROTECTED] To: 
 pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] idade gerada 
 com erro  saulo Mendes wrote:   age dt_nascimento  3 years 11 mons 30 
 days 18/12/2003supondo que a data base seja hoje (17/12) o 
 resultado deveria ser  4 years 29 days   Ugh?! Não vi bug.  euler=# 
 select * from foo; a  2003-12-18 2003-12-17 (2 registros)  
 euler=# select age(a),a,now()::date from foo; age | a | now 
 -++ 3 years 11 mons 30 days 
 | 2003-12-18 | 2007-12-17 4 years | 2003-12-17 | 2007-12-17 (2 registros) 
   --  Euler Taveira de Oliveira http://www.timbira.com/ 
 ___ pgbr-geral mailing list 
 pgbr-geral@listas.postgresql.org.br 
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça o MSN Mobile! Crie já o seu! 



___pgbr-geral mailing [EMAIL 
PROTECTED]://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



No virus found in this incoming message.Checked by AVG Free Edition. Version: 
7.5.503 / Virus Database: 269.17.4/1188 - Release Date: 17/12/2007 14:13
_
Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos 
com até 6,000 fotos!
http://www.amigosdomessenger.com.br___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] ajuda em query

2007-12-18 Por tôpico Mr J.L.
Entao,

   Essa query pertence a um relatorio (super lento) q
achei no sistema. ele tinha 8 subquerys desnecessarias
sendo q poderia fazer apenas um join, p/ as outras 7
subquerys a solucao foi suse, o problema é q essa eu
nao queria como uma subquery sendo q eu tenho um join
na tabela.

mais se nao tem jeito, faremos uma subquery né! 

 Mr J.L. escreveu:
  pessoal preciso de ajuda em uma query.
 
  hj tenho essa condicao no where de uma determinada
  query:
  select ...
  from contrato
  where
  co_tipo not in  (select tpoid from tipo where
  ((corretora='t' or seguradora='t') and tpoid92)
)
 
  agora eu queria tirar a subselect e fazer um join

 Nem sempre o join é mais rápido. A grande questão é:
se esta query
 funciona, pra que alterar ?

  exemplo:
  select ...
  from contrato,tipo
  where conoid=tpoid
  and ((corretora='f' and seguradora='f') or
tpoid=92))
 
  o problema é q isso:
  select tpoid from tipo where ((corretora='t' or
  seguradora='t')and tpoid92)
 
  é diferente disso:
  select tpoid from tipo where ((corretora='f' and
  seguradora='f') or tpoid=92)

 Além de diferentes, esses resultados devem ser
complementares.
 Caso contrário, deve ter algo errado com seus dados.
Nesse caso, só você
 pode ajudar =)
 Outra coisa: você deve estar querendo tpoid´s
únicos, e esse não parece
 ser o caso.


  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] check foreign key

2007-12-18 Por tôpico junior Prado
Euler,

Obrigado pela dica.

Att.

Valter Cezar Prado Junior
Analista TI

Sem saber como fazer ele fez!

Em 18/12/07, Euler Taveira de Oliveira [EMAIL PROTECTED] escreveu:

 junior Prado wrote:

  Como desligar e ligar a checagem de chaves estrangeiras?
 
  check foreign key = 0; //está certo?
 
 Não existe tal comando no PostgreSQL. Para desabilitar verificação de
 chaves estrangeira somente removendo-as e depois recriando-as.
 Certifique-se que não manipulará os dados entre estas duas etapas pois
 você poderá não conseguir recriar as chaves estrangeiras.

 ALTER TABLE foo DROP CONSTRAINT bar_col_fkey;


 --
   Euler Taveira de Oliveira
   http://www.timbira.com/
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Valter Cezar Prado Junior
Analista TI

Sem saber como fazer ele fez!
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico Leandro DUTRA
Por favor, siga a RFC 1855: corte o texto a que não estiver respondendo.

2007/12/18, saulo Mendes [EMAIL PROTECTED]:

  será que existe uma forma de se considerar que 30 dias = 1 mês ??

Escrevendo sua própria função?

-- 
+55 (11) 5685 2219   xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300  ICQ/AIM: aim:GoIM?screenname=61287803
MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] check foreign key

2007-12-18 Por tôpico Alexsander Rosa
Pode-se postergar a checagem de chaves:
http://www.postgresql.org/docs/current/static/sql-set-constraints.html

BEGIN;

SET CONSTRAINTS ALL DEFERRED;

INSERT INTO  ...
...

COMMIT;


Mas isso não *desliga* a checagem, apenas posterga (deixa para o final).
Quando o COMMIT for executado as constraints serão todas checadas. Há casos
raros onde dois registros em duas tabelas diferentes se referenciam
mutuamente com chaves estrangeiras não-nulas -- não me perguntem, mas já vi
isso :-). Nesse caso, um INSERT em uma requer um INSERT na outra mas ambos
falham por causa das chaves estrangeiras. Com esse comando pode-se fazer os
dois INSERTS numa transação. Para permitir futuramente que se use o comando
acima, as constraints em questão precisam ser declaradas como DEFERRABLE
(ver documentação).

Não sei se isso resolve o problema do Junior Prado...

Em 18/12/07, Euler Taveira de Oliveira [EMAIL PROTECTED] escreveu:

 junior Prado wrote:

  Como desligar e ligar a checagem de chaves estrangeiras?
 
  check foreign key = 0; //está certo?
 
 Não existe tal comando no PostgreSQL. Para desabilitar verificação de
 chaves estrangeira somente removendo-as e depois recriando-as.
 Certifique-se que não manipulará os dados entre estas duas etapas pois
 você poderá não conseguir recriar as chaves estrangeiras.

 ALTER TABLE foo DROP CONSTRAINT bar_col_fkey;


 --
   Euler Taveira de Oliveira
   http://www.timbira.com/
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Alexsander da Rosa
Linux User #113925
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico José Mello Júnior
Será que a classe médica considera o mês comercial e não o mês civil?
Acredito que seja apenas a forma de interpretar o resultado para o usuário,
mesmo sendo difíceis de tratar, não se pode desconsiderar a exatidão da
informação.

Mello


Em 18/12/07, saulo Mendes [EMAIL PROTECTED] escreveu:



 será que existe uma forma de se considerar que 30 dias = 1 mês ??

 é que estou trabalhando com alguns médicos e, sabe né? ô povinho difícil!




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


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico Osvaldo Rosario Kussama
saulo Mendes escreveu:
 
 pessoal, entendi a questão. Muito obrigado pela compreensão. Mas fica 
 uma outra dúvida:
  
 será que existe uma forma de se considerar que 30 dias = 1 mês ??
  


justify_days?
Veja 
http://www.postgresql.org/docs/8.2/interactive/functions-datetime.html:
justify_days(interval) : Adjust interval so 30-day time periods 
are represented as months

bdteste=# SELECT justify_days('60 days'::interval);
  justify_days
--
  2 mons
(1 registro)

bdteste=# SELECT justify_days('360 days'::interval);
  justify_days
--
  1 year
(1 registro)

bdteste=# SELECT justify_days(age('2007-12-17'::date, 
'2003-12-18'::date));
  justify_days
--
  4 years
(1 registro)

Osvaldo

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


Re: [pgbr-geral] [Bulk] Re: [Bulk] Re: Duvida uso de indice em query

2007-12-18 Por tôpico Marco Aurélio V . da Silva
Complementando mais a informação, devido a pesquisas e testes realizados:
Desabilitando o SeqScan (SET ENABLE_SEQSCAN TO OFF), ai a consulta passa a 
usar o indice correto.
Habilitando novamente o seqscan fiz alguns testes e cheguei a 2 querys com 
resultados distintos de acordo com o limit usado, segue as mesmas e o 
explain de cada:

1) a com pau
explain analyse Select a.CodPagador,b.Descricao
From Frete01 a Left Outer Join Frete02 b On (a.CodPagador = b.CodCliente)
limit 9364

Limit  (cost=46619.72..46856.82 rows=9364 width=39) (actual 
time=3385.710..3506.379 rows=9364 loops=1)
  -  Merge Left Join  (cost=46619.72..48113.50 rows=58995 width=39) 
(actual time=3385.706..3479.509 rows=9364 loops=1)
Merge Cond: (outer.codpagador = inner.codcliente)
-  Sort  (cost=24649.80..24797.29 rows=58995 width=11) (actual 
time=1287.219..1305.888 rows=9364 loops=1)
  Sort Key: a.codpagador
  -  Seq Scan on frete01 a  (cost=0.00..19974.95 rows=58995 
width=11) (actual time=11.057..484.380 rows=59161 loops=1)
-  Sort  (cost=21969.91..22274.37 rows=121784 width=39) (actual 
time=2098.457..2119.401 rows=11976 loops=1)
  Sort Key: b.codcliente
  -  Seq Scan on frete02 b  (cost=0.00..8127.84 rows=121784 
width=39) (actual time=3.306..384.981 rows=121740 loops=1)
Total runtime: 3525.731 ms



2) a que funciona
explain analyse Select a.CodPagador,b.Descricao
From Frete01 a Left Outer Join Frete02 b On (a.CodPagador = b.CodCliente)
limit 9363

Limit  (cost=0.00..46856.62 rows=9363 width=39) (actual 
time=11.205..536.761 rows=9363 loops=1)
  -  Nested Loop Left Join  (cost=0.00..295237.26 rows=58995 width=39) 
(actual time=11.201..508.936 rows=9363 loops=1)
-  Seq Scan on frete01 a  (cost=0.00..19974.95 rows=58995 
width=11) (actual time=11.057..220.711 rows=9363 loops=1)
-  Index Scan using frete02_f021 on frete02 b  (cost=0.00..4.65 
rows=1 width=39) (actual time=0.021..0.024 rows=1 loops=9363)
  Index Cond: (outer.codpagador = b.codcliente)
Total runtime: 551.331 ms

logo se eu limitar a query a 9363 registros ele usa o indice se limitar a 
9364 usa seq scan e demora pra burro, outro teste se na query com limit em 
9363 eu der um order by codcliente ele passa a dar seqscan no join.

O que pode ser ?

lembrando que já rodei as rotinas de manutenção. (Vacuum Full, Analyze, 
ReindexDb)

Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
- Original Message - 
From: Marco Aurélio V. da Silva [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Tuesday, December 18, 2007 8:32 AM
Subject: [Bulk] Re: [pgbr-geral] [Bulk] Re: Duvida uso de indice em query


Só complementando, já rodei as rotinas de manutenção do bd, Vacuum, Analyze,
Reindex, e nada.

Fico no aguardo de qualquer sugestão.

Marco Aurélio V. da Silva
Prodata Inf. e Cad. Ltda.
MSN: [EMAIL PROTECTED]
Fone: (33) 3322-3082
- Original Message - 
From: Euler Taveira de Oliveira [EMAIL PROTECTED]
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Monday, December 17, 2007 3:36 PM
Subject: [Bulk] Re: [pgbr-geral] Duvida uso de indice em query


Marco Aurélio V. da Silva wrote:

 Estou com o seguinte problema, ao executar uma determinada query em 2 db
 com
 estruturas iguais mais com dados diferentes eu obtenho resultados
 totalmente
 diferentes com relação ao tempo de execução. Em um vai igual um tiro, em
 outro demora muito, o volume de dados é mais ou menos o mesmo. Rodei um
 explain pra ver o motivo, e vi que em um database usa o indice na hora de
 fazer o relaciomanto entre tabelas, no outro naum. Verifiquei nos 2 db´s e
 vi que o indice existe nos 2, mas em apenas um db é um usado. O que fazer
 ?


EXPLAIN ANALYZE, por favor. Desconfio que (i) você não executa ANALYZE
frequentemente, ou seja, estatísticas desatualizadas (ii) o volume dos
dados nos dois sistemas estão fazendo com que algoritmos diferentes
sejam escolhidos.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
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 mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] idade gerada com erro

2007-12-18 Por tôpico Leandro DUTRA
2007/12/18, Osvaldo Rosario Kussama [EMAIL PROTECTED]:
 saulo Mendes escreveu:
 
  será que existe uma forma de se considerar que 30 dias = 1 mês ??

 justify_days?

Uau!


-- 
+55 (11) 5685 2219   xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300  ICQ/AIM: aim:GoIM?screenname=61287803
MSN: msnim:[EMAIL PROTECTED]
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Release do 8.3

2007-12-18 Por tôpico Roberto Mello
On Dec 18, 2007 4:31 AM, Fernando Ike [EMAIL PROTECTED] wrote:
 Em Tue, 18 Dec 2007 07:39:17 -0300 (ART)

  alguem poderia informar um link p/ o Release
  notes for 8.3 em portugues? ou até mesmo uma matéria
  comentando as novas funcionalidades, etc... (em
  portugues, por favor)


Ainda não tem, o Diogo estava trabalhando no Release Notes, em breve
 teremos ele em pt_BR. :)

Eu estou traduzindo as notas para imprensa e release notes para o
Portugues, so' estou um pouco atrasado.

Ja' traduzi o features.html e o release notes eu devo terminar e
commit para o CVS hoje a noite.

http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/press/pr/releases/8.3/br/features83.html.br

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


[pgbr-geral] Site de PostgreSQL com bom conteúdo

2007-12-18 Por tôpico Ribamar Sousa
Olá!

Como minha paciência é pequena acabei criando um novo site sobre
PostgreSQL com o Drupal.

Adicionei uma boa quantidade de material.

Como foi feito com o Drupal e com a intenção de ter um lugar para
compartilhar informações com recursos e agilidade, veja como proceder
para colaborar:

Apenas se registre e já estará apto a adicionar conteúdo: tutoriais,
dicas, links, etc.

http://postgresql.ribafs.net

-- 
Ribamar FS - ribafs[ ]users.sourceforge.net
http://www.ribafs.net
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral