Re: [pgbr-geral] [Bulk] Re: Duvida uso de indice em query
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
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
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
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
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
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
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
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, 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
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
-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
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
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
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
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
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
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
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
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
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
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
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, 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
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
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