Re: [pgbr-geral] Biometria.
Ok, pessoal, irei pesar as opções, e escolher as melhores. Obrigado a todos. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Query Lenta
Caros, Gostaria da ajuda de vocês para fazer uma determinada query ficar mais rápida. Query: SELECT docnumero FROM frete01 WHERE docserie = ' U2' AND (codfilorig = 94 OR codfilorig=95 OR codfilorig=98 OR codfilorig=99 OR codfilorig=100 OR codfilorig=118 ) AND datalancam IS NOT NULL ORDER BY datalancam DESC, docserie DESC, docnumero DESC LIMIT 1 Explain: Limit (cost=0.00..10.27 rows=1 width=23) - Index Scan Backward using frete01_x01 on frete01 (cost=0.00..321102.79 rows=31270 width=23) Index Cond: (docserie = ' U2'::bpchar) Filter: (((codfilorig = 94::numeric) OR (codfilorig = 95::numeric) OR (codfilorig = 98::numeric) OR (codfilorig = 99::numeric) OR (codfilorig = 100::numeric) OR (codfilorig = 118::numeric)) AND (datalancam IS NOT NULL)) Se eu tiver um indice por docserie + codfilorig ajuda ? Desde já agradeço a atenção recebida. -- Marco Aurélio Ventura da Silva marcoprod...@gmail.com Prodata Informática e Cadastro LTDA (33)3322- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Query Lenta
On Thu, May 16, 2013 at 8:44 AM, Marco Aurelio marcoprod...@gmail.comwrote: Caros, Gostaria da ajuda de vocês para fazer uma determinada query ficar mais rápida. Query: SELECT docnumero FROM frete01 WHERE docserie = ' U2' AND (codfilorig = 94 OR codfilorig=95 OR codfilorig=98 OR codfilorig=99 OR codfilorig=100 OR codfilorig=118 ) AND datalancam IS NOT NULL ORDER BY datalancam DESC, docserie DESC, docnumero DESC LIMIT 1 Explain: Limit (cost=0.00..10.27 rows=1 width=23) - Index Scan Backward using frete01_x01 on frete01 (cost=0.00..321102.79 rows=31270 width=23) Index Cond: (docserie = ' U2'::bpchar) Filter: (((codfilorig = 94::numeric) OR (codfilorig = 95::numeric) OR (codfilorig = 98::numeric) OR (codfilorig = 99::numeric) OR (codfilorig = 100::numeric) OR (codfilorig = 118::numeric)) AND (datalancam IS NOT NULL)) Se eu tiver um indice por docserie + codfilorig ajuda ? Desde já agradeço a atenção recebida. De cara, troque o `codfilorig=X or codfilorig=Y...` por `codfilorig IN (X,Y,Z,...)`. Tem como mandar o EXPLAIN ANALYZE? E se possível usar o explain.depesz.com. O que nessa query é dinâmico e o que é estático? Exemplo: datalancam IS NOT NULL é sempre usado? Valeu. -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Query Lenta
Caro Matheus, Segue o EXPLAIN ANALYZE: Limit (cost=0.00..10.27 rows=1 width=23) (actual time=27455.446..27455.446 rows=0 loops=1) - Index Scan Backward using frete01_x01 on frete01 (cost=0.00..320637.77 rows=31215 width=23) (actual time=27455.417..27455.417 rows=0 loops=1) Index Cond: (docserie = ' U2'::bpchar) Filter: (((codfilorig = 94::numeric) OR (codfilorig = 95::numeric) OR (codfilorig = 98::numeric) OR (codfilorig = 99::numeric) OR (codfilorig = 100::numeric) OR (codfilorig = 118::numeric)) AND (datalancam IS NOT NULL)) Total runtime: 27467.570 ms O DATALANCAM IS NOT NULL é sempre usado, a serie sempre será especificada, o que é dinamico é o CODFILORIG que poder 1 ou várias, eu criei um indice docserie+codfilorig mas o postgresql insiste em usar um indice datalancam+docserie+docnumer. Uma duvida eu posso rodar um ANALYZE enquanto estão usando o banco de dados ? Eu tenho os processos agendados para serem executados a noite, mas gostaria de saber se pode ser usado um ANALYZE durante o expediente. Desde já agradeço a atenção recebida. Em 16 de maio de 2013 09:00, Matheus de Oliveira matioli.math...@gmail.comescreveu: On Thu, May 16, 2013 at 8:44 AM, Marco Aurelio marcoprod...@gmail.comwrote: Caros, Gostaria da ajuda de vocês para fazer uma determinada query ficar mais rápida. Query: SELECT docnumero FROM frete01 WHERE docserie = ' U2' AND (codfilorig = 94 OR codfilorig=95 OR codfilorig=98 OR codfilorig=99 OR codfilorig=100 OR codfilorig=118 ) AND datalancam IS NOT NULL ORDER BY datalancam DESC, docserie DESC, docnumero DESC LIMIT 1 Explain: Limit (cost=0.00..10.27 rows=1 width=23) - Index Scan Backward using frete01_x01 on frete01 (cost=0.00..321102.79 rows=31270 width=23) Index Cond: (docserie = ' U2'::bpchar) Filter: (((codfilorig = 94::numeric) OR (codfilorig = 95::numeric) OR (codfilorig = 98::numeric) OR (codfilorig = 99::numeric) OR (codfilorig = 100::numeric) OR (codfilorig = 118::numeric)) AND (datalancam IS NOT NULL)) Se eu tiver um indice por docserie + codfilorig ajuda ? Desde já agradeço a atenção recebida. De cara, troque o `codfilorig=X or codfilorig=Y...` por `codfilorig IN (X,Y,Z,...)`. Tem como mandar o EXPLAIN ANALYZE? E se possível usar o explain.depesz.com . O que nessa query é dinâmico e o que é estático? Exemplo: datalancam IS NOT NULL é sempre usado? Valeu. -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Marco Aurélio Ventura da Silva marcoprod...@gmail.com Prodata Informática e Cadastro LTDA (33)3322- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
Olá Euler, Primeiramente muito obrigado por suas considerações! Baseado nas dificuldades em manter múltiplos masters sincronizados, estive pensando em estar criando o seguinte senário: - 1 banco na nuvem e um em cada unidade; - Usar a replicação nativa hoje existente: Nuvem - Bancos Locais; - Fazer alterações apenas na Nuvem, conectando o sistema pela internet; - Direcionar a conexão para a base local apenas para consultas, estas usadas para relatórios ou caso a conexão venha a cair, fazendo que pelo menos o cliente possa consultar as informações no sistema até que a conexão seja restabelecida; Neste caso acima eu teria que investir em banda de internet, já que todos os registros que subirem para o servidor, irão voltar novamente para sincronizar a base principal, passando estes registros pela rede esterna duas vezes, o que não seria muito legal. Também estive pensando em liberar operações em algumas partes críticas do sistema na base local, gerando uma PK com uma sequência de valores que ao invés de ser incrementada, seria decrementada a partir de zero, tendo assim uma sequência negativa. Estas, após o restabelecimento da conexão, seriam transportadas para o servidor principal, e neste momento, receberiam uma PK real. Para o uso da chave primária desta forma, estou criando os campos desta forma: create table nome_tabela( id integer NOT NULL DEFAULT nextval('nome_sequencia'::regclass), ... ); Será que existirá algum grave problema com isto? Att, Fábio Thomaz Em 16 de maio de 2013 00:44, Euler Taveira eu...@timbira.com.br escreveu: On 15-05-2013 20:51, Fábio Thomaz wrote: O cenário é básico: 1 matriz e 3 filiais precisando compartilhar informações, onde algumas destas informações (tabelas) serão únicas para todas as filiais, como um exemplo eu poderia dar o cadastro de produto. Não é. Pensei em criar uma aplicação que acessasse o servidor na nuvem, mas não posso correr o risco de deixar a empresa sem sistema por uma eventual falha na rede externa. Então teríamos 5 SGDB's: Nuvem (Principal), Matriz, Filial-1, Filial-2 , Filial-3. É um cenário complexo e, se tratando de SGBD, você tem que procurar um cenário mais simples possível. Aconselho que veja a literatura [1][2][3] sobre a complexidade de um cenário com múltiplos mestres e principalmente sobre resolução de conflitos. Sobre a sua arquitetura, minimize ao máximo o número de servidores principais (aka master). Dependendo do seu orçamento, eu pensaria em investir mais em infraestrutura (a não ser que seu cliente esteja localizado no Amapá ou Roraima, por exemplo -- onde a disponibilidade de bons links é quase escassa) do que em uma solução complexa que (i) é frágil tecnicamente e (ii) a manutenção toma muito tempo. Já vou logo adiantando que não há como ter algo transparente (a não ser que vá adotar algum middleware perfeito) para a aplicação com esse cenário, ou seja, a aplicação deve ser moldada para isso. Sobre as soluções para Postgres, começe por [4] (está meio desatualizado mas ainda é uma boa fonte). [1] http://www.amazon.com/Database-Systems-Complete-Book-Edition/dp/0131873253 [2] http://www.amazon.com/Database-System-Concepts-Abraham-Silberschatz/dp/0073523321 [3] http://www.amazon.com/Database-Management-Systems-Raghu-Ramakrishnan/dp/0072465638 [4] http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling -- 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
[pgbr-geral] Drop FK demorado
Pessoal, Existe algum motivo pra um drop de uma FK demorar? No momento o banco tinha sido reiniciado e não tinha ninguém conectado. PG 8.4 Agradecido, Luiz Carlos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] programa para gerenciar
Vamos lá... Em 15 de maio de 2013 16:08, Rogério D'Andréa rolemo...@gmail.comescreveu: Sou leigo em postgre mas gostaria de criar uma base de dados, um relacionamento e um relatório bem simples. Não querendo ser chato, postgre, como diria o Pe. Quevedo isso non ecziste, o nome do SGBD é PostgreSQL, ou por seu apelido, que respeita sua história: Postgres. :) Quanto ao fato de ser leigo, seja bem vindo ao mundo PostgreSQL! Se você já tiver uma base de SQL (a linguagem) e modelagem de dados, te ajudará bastante. Vocês poderiam me ajudar em um programa que faça isso? Creio que você deve estar se referindo a alguma ferramenta gráfica/web para modelagem/gerenciamento... Tem o famoso pgAdmin [1], o phpPgAdmin [2] e outros aí que não vou lembrar agora. [1] http://pgadmin.org/ [2] http://phppgadmin.sourceforge.net A outra alternativa é usarmos em nossa empresa para dar aula o Acess. Sou voto vencido (3x1) mas se eu levar uma solução fácil de usar seria +1 para vários alunos nossos. Conheço um pouco de mysql e já usei base em um 486. Trabalhei 1 ano com acess na caixa econômica para saber que ele não é legal. Access? Definitivamente não é nada legal. Não serve para ser uma solução profissional de banco de dados. Mas se for o caso, como na resposta anterior utilize o LibreOffice Base, com o driver pra PostgreSQL para se ter o mesmo efeito de facilidade. Só pra concluir aqui te aconselho a antes de tudo, de apresentar uma proposta, ela tem que ser solidificada. Procure não depender de ferramentas gráficas do tipo que faz de vc um piloto de mouse. Vai brincando no psql (cliente padrão do Postgres: modo texto), pra te ajudar ele tem o recurso de completar comandos, auxiliará muito no aprendizado. Abraço! -- Bom dia para coisas simples voce pode usar o libreoffice base, se quiser mais segurança aconselho a usar o libreoffice base com banco de dados externo, que é justamente o que eu estou fazendo usando o Postgresql ou usa o mysql que você já conhece. ___ 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] Material para replicação de dados Multi-master
On 16-05-2013 10:18, Fábio Thomaz wrote: [evite top-posting] - 1 banco na nuvem e um em cada unidade; - Usar a replicação nativa hoje existente: Nuvem - Bancos Locais; - Fazer alterações apenas na Nuvem, conectando o sistema pela internet; - Direcionar a conexão para a base local apenas para consultas, estas usadas para relatórios ou caso a conexão venha a cair, fazendo que pelo menos o cliente possa consultar as informações no sistema até que a conexão seja restabelecida; É um cenário mais realista. Neste caso acima eu teria que investir em banda de internet, já que todos os registros que subirem para o servidor, irão voltar novamente para sincronizar a base principal, passando estes registros pela rede esterna duas vezes, o que não seria muito legal. Geralmente o inbound (entrada) *não* é taxado; somente o outbound (saída). Também estive pensando em liberar operações em algumas partes críticas do sistema na base local, gerando uma PK com uma sequência de valores que ao invés de ser incrementada, seria decrementada a partir de zero, tendo assim uma sequência negativa. Estas, após o restabelecimento da conexão, seriam transportadas para o servidor principal, e neste momento, receberiam uma PK real. Fuja disso! Tecnicamente frágil. -- 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] Material Functions e Store procedures
Bom dia amigos, Venho através deste pedir ajuda com documentação, e exemplos Tenho um sistema de gerenciamento escolar, e migrando-o de sdk, porem, estou tentando implementar o Maximo possível de funções para o sgbd. Imaginem que quero por exemplo, atualizar medias de uma disciplina de uma turma, ou a media da turma geral, ou a media geral da matricula Já fiz algumas outras funções mas estou com dificuldade em trabalhar com laços e resultados de consultas dentro da função Exemplo, selecionar todas as notas de uma turma, e para cada aluno fazer a media dele, e depois ao final a media da turma... Agradeço qualquer ajuda, vou continuar tentando e vasculhando... Erison ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Drop FK demorado
On 16-05-2013 10:46, Luiz Carlos L. Nogueira Jr. wrote: Pessoal, Existe algum motivo pra um drop de uma FK demorar? No momento o banco tinha sido reiniciado e não tinha ninguém conectado. PG 8.4 O que você quis dizer com drop de uma FK? Remover a restrição (aka constraint) ou remover a coluna? Ambos requerem um AccessExclusiveLock [1] na tabela, ou seja, até mesmo um SELECT na referida tabela em uma transação em aberto pode bloquear a execução de ALTER TABLE ... DROP CONSTRAINT. Uma outra hipótese é o autovacuum trabalhando nessa tabela. Utilize uma das consultas em [2] para verificar quem está bloqueando o ALTER TABLE. [1] http://www.postgresql.org/docs/8.4/static/explicit-locking.html#LOCKING-TABLES [2] http://wiki.postgresql.org/wiki/Lock_dependency_information -- 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] Query Lenta
On 16-05-2013 08:44, Marco Aurelio wrote: Gostaria da ajuda de vocês para fazer uma determinada query ficar mais rápida. Cadê a definição da tabela e dos índices da mesma? Você executou um ANALYZE na tabela envolvida antes do EXPLAIN ANALYZE? Qual é a versão exata do PostgreSQL? Quais os valores modificados no postgresql.conf? Vide a consulta em [1]. [1] http://wiki.postgresql.org/wiki/Server_Configuration -- 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] Material para replicação de dados Multi-master
Em 15 de maio de 2013 20:51, Fábio Thomaz fabio_...@yahoo.com.br escreveu: Olá pessoal, sou iniciante no uso do PostgreSQL, entrei na lista recentemente e venho em busca de maiores informações para que eu possa criar um modelo que atenda um cliente. O cenário é básico: 1 matriz e 3 filiais precisando compartilhar informações, onde algumas destas informações (tabelas) serão únicas para todas as filiais, como um exemplo eu poderia dar o cadastro de produto. Pensei em criar uma aplicação que acessasse o servidor na nuvem, mas não posso correr o risco de deixar a empresa sem sistema por uma eventual falha na rede externa. Então teríamos 5 SGDB's: Nuvem (Principal), Matriz, Filial-1, Filial-2 , Filial-3. Bem, com estas informações acima, os nobres colegas do grupo poderiam me ajudar, direcionando-me a fontes de pesquisa onde eu possa implementar este cenário? Desde já agradeço Att, Fábio Thomaz Olhou o Bucardo? -- Atenciosamente, Alexsander da Rosa ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados
Vamos lá... Em 15 de maio de 2013 16:08, Rogério D'Andréa rolemo...@gmail.com escreveu: Não querendo ser chato, postgre, como diria o Pe. Quevedo isso non ecziste, o nome do SGBD é PostgreSQL, ou por seu apelido, que respeita sua história: Postgres. :) Quanto ao fato de ser leigo, seja bem vindo ao mundo PostgreSQL! Se você já tiver uma base de SQL (a linguagem) e modelagem de dados, te ajudará bastante. Ei Rogério tu é chato. hehehe. Mas tudo bem eu já sabia destas diferenças só não me familiarizo com elas pois meu mundo percorre um pouco longe de bd Vocês poderiam me ajudar em um programa que faça isso? Creio que você deve estar se referindo a alguma ferramenta gráfica/web para modelagem/gerenciamento... Tem o famoso pgAdmin [1], o phpPgAdmin [2] e outros aí que não vou lembrar agora. [1] http://pgadmin.org/ [2] http://phppgadmin.sourceforge.net Vou testar mas elas tiram relatório? Criar base e modificar é fácil o meu problema era criar relatório sem usar o php. Preparamos um material e ficou muito ruim para os alunos, estou procurando outro. A outra alternativa é usarmos em nossa empresa para dar aula o Acess. Sou voto vencido (3x1) mas se eu levar uma solução fácil de usar seria +1 para vários alunos nossos. Conheço um pouco de mysql e já usei base em um 486. Trabalhei 1 ano com acess na caixa econômica para saber que ele não é legal. Access? Definitivamente não é nada legal. Não serve para ser uma solução profissional de banco de dados. Mas se for o caso, como na resposta anterior utilize o LibreOffice Base, com o driver pra PostgreSQL para se ter o mesmo efeito de facilidade. Libreoffice não rola pois sou voto vencido ainda mais acima (nivel de gerência) conheço base já ajudei um pouco o broffice.org tempos atrás e temos em nossa equipe outro conhecedor de libreoffice que ta me colocando é para o acess. Minha batata está assando por aqui. hehehe Só pra concluir aqui te aconselho a antes de tudo, de apresentar uma proposta, ela tem que ser solidificada. Procure não depender de ferramentas gráficas do tipo que faz de vc um piloto de mouse. Vai brincando no psql (cliente padrão do Postgres: modo texto), pra te ajudar ele tem o recurso de completar comandos, auxiliará muito no aprendizado. Esta proposta não é para mim e sim para meus alunos. Já estou com muito tempo dedicado a outras coisas como microcontroladores não daria tempo aprender SQL na unha. :( Abraço! Valeu -- Bom dia para coisas simples voce pode usar o libreoffice base, se quiser mais segurança aconselho a usar o libreoffice base com banco de dados externo, que é justamente o que eu estou fazendo usando o Postgresql ou usa o mysql que você já conhece. Marcus ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
Olá Anexsander, Estive fazendo um levantamento de algumas ferramentas que poderiam me ajudar com isto, dentre as que replicam Mestre-Meste estão: 1 - Bucardo; 2 - SymmetricDS; 3 - RubyRep; 4 - Daffodil Replicator; Algum dos colegas usa alguma destas soluções? Se sim, poderiam comentar sobre a experiência do uso com estas ferramentas? Att, Fábio Thomaz ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
Em 16-05-2013 13:02, Fábio Thomaz escreveu: Olá Anexsander, Estive fazendo um levantamento de algumas ferramentas que poderiam me ajudar com isto, dentre as que replicam Mestre-Meste estão: 1 - Bucardo; 2 - SymmetricDS; 3 - RubyRep; 4 - Daffodil Replicator; Algum dos colegas usa alguma destas soluções? Se sim, poderiam comentar sobre a experiência do uso com estas ferramentas? Já usei Bucardo e Rubyrep. Ambas são programas de um homem só e tive problemas de consistência de replicação com o Rubyrep que *não* consegui resolver. O Bucardo é bastante estável, mas como toda replicação multi-mestre exige planejamento e cuidado na implantação. Mas tenho ele em produção em alguns lugares com alto grau de sucesso. Recomendo que você teste num ambiente controlado e siga adiante. Não existe mágica. Você terá que aprender a usar corretamente. []s __ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
Olá Euler, Quando você diz: Fuja disso! Tecnicamente frágil., seria pela possível falha na geração deste número sequencial negativo? Pois para estas tabelas pensei em ter uma sequencia normal, mas sendo chamada através de um Trigger que iria capturar o próximo valor, multiplicar por -1 e atribuir ao campo. Neste caso eu também terei que padronizar algumas coisas, tipo, se o ID vier nulo do meu comento SQL de inclusão, o banco pega o valor da sequencia e pronto, se vier com o valor 0 por exemplo, o Trigger testa o valor e gera um valor negativo. Há, e neste caso eu teria duas sequencias para a mesma tabela, uma sequencia normal e outra apenas para esta ocasião dos negativos, lembrando que seria apenas em algumas tabelas usadas em recursos que o sistema não irá poder parar, o restante eu informo que a operação está indisponível por problemas de comunicação com o servidor e pronto. Att, Fábio Thomaz ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material Functions e Store procedures
Em 16/05/13, Erison Gmailnos...@gmail.com escreveu: Bom dia amigos, Venho através deste pedir ajuda com documentação, e exemplos Tenho um sistema de gerenciamento escolar, e migrando-o de sdk, porem, estou tentando implementar o Maximo possível de funções para o sgbd. Imaginem que quero por exemplo, atualizar medias de uma disciplina de uma turma, ou a media da turma geral, ou a media geral da matricula Já fiz algumas outras funções mas estou com dificuldade em trabalhar com laços e resultados de consultas dentro da função Exemplo, selecionar todas as notas de uma turma, e para cada aluno fazer a media dele, e depois ao final a media da turma... Agradeço qualquer ajuda, vou continuar tentando e vasculhando... Veja: http://postgres.cz/wiki/PL/pgSQL_%28en%29 Se ainda tiver dificuldade poste o que tentou, a definição das tabelas e um exemplo do resultado desejado que procuraremos ajuda-lo. 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] Bucardo: Erro no Perl do Postgresql
Ola Flavio, Em 15 de maio de 2013 14:49, Flavio Henrique Araque Gurgel fla...@4linux.com.br escreveu: Em 15-05-2013 14:46, Nelson Luiz Gonzaga escreveu: Srs, Segui o passo a passo da instalacao do Bucardo e nao consegui finalizar. Ele solicitou a linguaguem Perl no postgresql, quando mando criar ocorre o erro: CREATE LANGUAGE plperl; ** Error ** ERROR: could not load library /home/local/pgsql/lib/plperl.**so: /home/local/pgsql/lib/plperl.**so: undefined symbol: boot_DynaLoader SQL state: 58P01 Ja reinstalei o Postgresql com a opcao --with-perl e nao resolveu. Ambiente: Linux Debian 5.0 (Lenny) PostgreSQL 9.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (Debian 4.3.2-1.1) 4.3.2, 32-bit Alguma ideia? A máquina onde você compilou, é a mesma da que está rodando? Sim. Já verificou ld_library_path? Se for uma variavel do ambiente, ela nao existe no meu ambiente. Ao compilar, tem certeza de que não houve erro? O postgresql esta rodando normal, portanto quase certeza que nao houve erro. Ao compilar, perl-dev estava instalado? Nao lembro, mexi tanto depois disso. Já que estás em Debian, por que não utiliza os pacotes PGDG? Eles se instalam bonitinho, padrão Debian, via apt, e tem o módulo plperl instalável da mesma forma. É mito mais fácil. []s Ainda nao fiz isso porque decobri que o Bucardo nao replica o pg_catalog e eu uso a tabela pg_largeobject pra colocar arquivos. Minha dúvida agora é: A replicacao nativa (stream replication) replica o pg_catalog? Valeu, Nelson L Gonzaga __** Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS __**_ pgbr-geral mailing list pgbr-geral@listas.postgresql.**org.brpgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.**br/cgi-bin/mailman/listinfo/**pgbr-geralhttps://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] Trocar Firebird por PostgreSQL
Caros, Boa tarde. Aqui na empresa usamos o Firebird e venho esbarrando em uma série de problemas e deficiências do mesmo quando temos um alto volume de transações. Decidimos compatibilizar a nossa aplicação com PostgreSQL e para isso acontecer preciso estudar e estou com algumas dúvidas. 1) É vantajoso separar os tablespaces entre dados e índices? 2) É possível reservar memória RAM para o banco e parametrizar o número de processadores usados? 3) O Autovacum é realmente eficiente? Estou precisando de material de estudo e indicação de livros, vocês podem contribuir comigo neste sentido? Desde já agradeço pela atenção. Tenham uma boa tarde. -- Atenciosamente, André Geraldo dos Santos Certified Delphi® Developer XE2 Analista Desenvolvedor e Consultor Belo Horizonte / Minas Gerais E-mail:andresanto...@gmail.com E-mail:andresan...@modulartecnologia.com.br Telefone : +55 31 3047-6506 8746-9651 Skype : modulartecnologia_andre ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Configuração e Tunning Postgre 8.4
Olá Euler, Agradeço pelas observações, Realmente 100 transações é pouco. Na verdade me utilizei estes valores pois foram utilizados em outro benchmark que está publicado na Internet e precisava saber se a minha máquina estava melhor, semelhante ou pior ao do teste (felizmente ficou 6x melhor). - Mensagem original - De: Euler Taveira eu...@timbira.com.br Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Enviadas: Quarta-feira, 15 de Maio de 2013 15:57:01 Assunto: Re: [pgbr-geral] Configuração e Tunning Postgre 8.4 100 transações é um valor muito baixo; o teste será somente por alguns segundos. Uma alternativa é o utilizar o parâmetro -T (tempo) ao invés do parâmetro -t (número de transações). Um bom teste deve durar pelo menos 10 minutos. Além disso, *nunca* utilize um valor de conexões (-c) maior do que fator de escala (-s); vários UPDATEs estarão concorrendo pelas mesmas tuplas. -- !- Atenciosamente: Robson Massaki Kobayashi SSOP/COINF/STI - TRE/MS (67)3326-5428 ou (67)3326-4166 ramal 218 !- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Bucardo: Erro no Perl do Postgresql
On 16-05-2013 13:46, Nelson Luiz Gonzaga wrote: Minha dúvida agora é: A replicacao nativa (stream replication) replica o pg_catalog? Sim. Replica todo cluster (incluindo o catálogo). -- 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] Bucardo: Erro no Perl do Postgresql
Minha dúvida agora é: A replicacao nativa (stream replication) replica o pg_catalog? Sim. A replicação nativa às vezes dá medo. Replica *tudo*. Observe, inclusive, que ao criar novas tablespaces no mestre, o mesmo diretório tem de existir no escravo, senão o escravo se desliga sozinho até você fazer isso. []s __ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Trocar Firebird por PostgreSQL
Em 16-05-2013 13:52, André Geraldo dos Santos escreveu: Caros, Boa tarde. Aqui na empresa usamos o Firebird e venho esbarrando em uma série de problemas e deficiências do mesmo quando temos um alto volume de transações. Decidimos compatibilizar a nossa aplicação com PostgreSQL e para isso acontecer preciso estudar e estou com algumas dúvidas. 1) É vantajoso separar os tablespaces entre dados e índices? Depende de como sua aplicação os utiliza. Às vezes, separar uma tabela e seus índices de outras dá mais resultado. Com a aplicação em funcionamento, utilizar os catálogos pg_statio_user_tables e pg_statio_user_indexes te ajuda a saber quem são os que fazem mais I/O. 2) É possível reservar memória RAM para o banco e parametrizar o número de processadores usados? Memória RAM dá pra ter um bom controle, processadores não. 3) O Autovacum é realmente eficiente? É fundamental para o funcionamento normal do PostgreSQL e deve estar sempre ativo. Estou precisando de material de estudo e indicação de livros, vocês podem contribuir comigo neste sentido? Pesquise um pouco porque existem dezenas, infelizmente uma minoria em português. Indico sempre os livros do Greg Smith, Joshua Drake e o que mais me ajudou (mas tem muitos erros) do Korry Douglas. []s __ Flavio Henrique A. Gurgel Líder de Projetos Especiais Consultoria, Projetos Treinamentos 4LINUX Tel1: +55-11.2125-4747 ou 2125-4748 www.4linux.com.br email: fla...@4linux.com.br __ FREE SOFTWARE SOLUTIONS ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
On 16-05-2013 13:15, Fábio Thomaz wrote: Quando você diz: Fuja disso! Tecnicamente frágil., seria pela possível falha na geração deste número sequencial negativo? Não. Imagine você ter que corrigir uma chave estrangeira em n tabelas a cada inserção, atualização ou remoção? É muito trabalhoso além de ser susceptível a falha. E se múltiplas instâncias pegarem o mesmo valor? Como será a resolução de conflitos? Minimize os pontos de falha no projeto adicionando alguns requisitos tais como supor que a conexão *não* vai falhar em 99% dos casos; 1% é o risco assumido. Lembre-se, não existe 100% de garantia em uma solução (nem mesmo uma que custa 10⁶ dilmas). Há, e neste caso eu teria duas sequencias para a mesma tabela, uma sequencia normal e outra apenas para esta ocasião dos negativos, lembrando que seria apenas em algumas tabelas usadas em recursos que o sistema não irá poder parar, o restante eu informo que a operação está indisponível por problemas de comunicação com o servidor e pronto. Isso complicaria muito a sua integridade referencial. Lembre-se de seguir o princípio KISS. -- 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] replicacao Hot_standby com problemas
boa tarde Pessoal, estou fazendo uma replicação hot_standby em ambiente de homologação, ocorre que precisaria fazer com o postgresql rodando no servidor principal. utilizei o material do Euler [1], e funcionou com o servidor principal parado, qdo faço com ele rodando, no secundário nao consigo iniciar o postgres, me diz que falta um arquivo 0001000800AD do log. No tutorial ele exclui a pasta pg_xlog,se eu copia-la o postgres inicia no secundário mas depois de um tempo da erro que nao consegue substituir esses arquivos do log.. alguem tem alguma ideia?? [1] http://eulerto.blogspot.com.br/2010/11/hot-standby-e-streaming-replication.html -- Douglas Fabiano Specht ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] replicacao Hot_standby com problemas
On 16-05-2013 14:27, Douglas Fabiano Specht wrote: estou fazendo uma replicação hot_standby em ambiente de homologação, ocorre que precisaria fazer com o postgresql rodando no servidor principal. utilizei o material do Euler [1], e funcionou com o servidor principal parado, qdo faço com ele rodando, no secundário nao consigo iniciar o postgres, me diz que falta um arquivo 0001000800AD do log. No tutorial ele exclui a pasta pg_xlog,se eu copia-la o postgres inicia no secundário mas depois de um tempo da erro que nao consegue substituir esses arquivos do log.. Esse material é muito antigo; tenho que atualizá-lo. Quanto a sua dúvida, você tem duas opções: (i) aumentar o wal_keep_segments; (ii) configurar o arquivamento (archive_command) copiando os logs para o servidor secundário ou mesmo algum local onde o servidor secundário tenha acesso e, depois disso, no servidor secundário utilizar o parâmetro restore_command no arquivo recovery.conf. A opção (i) nem sempre funciona pois se a cópia de segurança física demorar muito o PostgreSQL pode reciclar um arquivo de log de transação que é necessário no servidor secundário. A opção (ii) apesar de ser trabalhosa, sempre funciona. -- 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] Query Lenta
Grande Euller, Vamos la, valores das consultas que me pediu: PostgreSQL 8.1.4 on i386-portbld-freebsd6.1, compiled by GCC cc (GCC) 3.4.4 [FreeBSD] 20050518 client_encoding;SQL_ASCII;session client_min_messages;notice;session DateStyle;ISO, MDY;session effective_cache_size;39321;configuration file lc_messages;C;configuration file lc_monetary;C;configuration file lc_numeric;C;configuration file lc_time;C;configuration file listen_addresses;*;configuration file log_destination;stderr;configuration file log_directory;pg_log;configuration file log_duration;off;configuration file log_filename;postgresql-%Y-%m-%d.log;configuration file log_line_prefix;%t [%p]: [%l-1] user=%u,db=%d ;configuration file log_min_duration_statement;150;configuration file log_rotation_age;1440;configuration file log_statement;none;configuration file maintenance_work_mem;234905;configuration file max_connections;150;configuration file max_locks_per_transaction;256;configuration file random_page_cost;2;configuration file redirect_stderr;on;configuration file shared_buffers;39321;configuration file silent_mode;on;configuration file TimeZone;Brazil/East;command line work_mem;16517;configuration file PC: Core I3 4GB de RAM: Definições da tabela e dos indices: CREATE TABLE frete01 ( ctadebrece character(6), ctacrerece character(6), ctamda character(8), cpf_cgcrem character varying(18), cpf_cgcdes character varying(18), cpf_cgccon character varying(18), cpf_cgcrd character varying(18), cpf_cgcpag character varying(18), tipocarro character(1), codremeten numeric(6,0) DEFAULT 0, coddestina numeric(6,0) DEFAULT 0, coddespach numeric(6,0) DEFAULT 0, codredespa numeric(6,0) DEFAULT 0, codpagador numeric(6,0) DEFAULT 0, codtrajeto numeric(5,0) DEFAULT 0, leitcarga character(1), leitscob character(1), codempresa character(5), docnumero numeric(6,0) DEFAULT 0, docserie character(4), codfatura character(6), seriefatur character(4), codfuncion numeric(5,0) DEFAULT 0, redespacho character(1), redenumero numeric(6,0) DEFAULT 0, redeserie character(4), totalnotas numeric(13,2) DEFAULT 0, datalancam date, datadespac date, dataapagar date, datarecebi date, calculaate numeric(5,0) DEFAULT 0, valorunida numeric(13,2) DEFAULT 0, fretevalor numeric(13,2) DEFAULT 0, seccat numeric(13,2) DEFAULT 0, despacho numeric(13,2) DEFAULT 0, pedagio numeric(13,2) DEFAULT 0, outros numeric(13,2) DEFAULT 0, valorapaga numeric(13,2) DEFAULT 0, valorreceb numeric(13,2) DEFAULT 0, valorrepas numeric(13,2) DEFAULT 0, basecalcul numeric(6,2) DEFAULT 0, aliquota numeric(6,2) DEFAULT 0, icms numeric(13,2) DEFAULT 0, coleta numeric(13,2) DEFAULT 0, ademe numeric(13,2) DEFAULT 0, formapagam character(1), peso numeric(11,3) DEFAULT 0, cubagem numeric(7,0) DEFAULT 0, volumes numeric(4,0) DEFAULT 0, codfilorig numeric(5,0) DEFAULT 0, codfildest numeric(5,0) DEFAULT 0, codfilarre numeric(5,0) DEFAULT 0, observacao character varying(120), codmanifes character(6), seriemanif character(4), veiculo character(8), motorista character(6), natureza character varying(15), tipocarga character(1), descricao character varying(50), databaixa date, codtabela character(4), codtarifa character(3), codtributa character(7), recibonume character(6), reciboseri character(4), hrdespacho character(5), confdesc character(2), rmd character(6), dtconsigna date, dtentrega date, hrentrega character(5), ocorrencia character varying(30), dttickets date, dttickets2 date, dtproducao date, codtabicms character(3), valorfrete numeric(13,5) DEFAULT 0, aliq_subs numeric(5,2) DEFAULT 0, itr numeric(13,5) DEFAULT 0, totalnf numeric(13,2) DEFAULT 0, tptribut character(1), loccolet character varying(20), locentre character varying(20), usucolet character(10), usuentre character(10), veiculo2 character(8), veiculo3 character(8), motorista2 character(6), motorista3 character(6), veicx character(1), loc_imprer boolean, loc_imprec boolean, loc_impred boolean, loc_imprep boolean, stationid character(3), datestamp date, timestamp character(8), updcounter numeric(3,0) DEFAULT 0, espcar character varying(15), sr_recno numeric(15,0) NOT NULL DEFAULT nextval('frete01_sq'::regclass), sr_deleted character(1) NOT NULL DEFAULT ' '::bpchar, indkey_001 character varying(254), indkey_002 character varying(254), indkey_003 character varying(254), indkey_004 character varying(254), indkey_005 character varying(254), indkey_006 character varying(254), indkey_007 character varying(254), indkey_008 character varying(254), numcem character(8), numdvf character(8), numrcf character(6), dtlanentr date, codfilial numeric(5,0), desconto numeric(13,2), CONSTRAINT frete01_sr_recno_key UNIQUE (sr_recno), CONSTRAINT frete01_unicod UNIQUE (docserie, docnumero) ) WITHOUT OIDS; ALTER TABLE frete01 OWNER TO sysadmin; --
Re: [pgbr-geral] Material para replicação de dados Multi-master
Em 16 de maio de 2013 13:15, Fábio Thomaz fabio_...@yahoo.com.br escreveu: Olá Euler, Quando você diz: Fuja disso! Tecnicamente frágil., seria pela possível falha na geração deste número sequencial negativo? Pois para estas tabelas pensei em ter uma sequencia normal, mas sendo chamada através de um Trigger que iria capturar o próximo valor, multiplicar por -1 e atribuir ao campo. Neste caso eu também terei que padronizar algumas coisas, tipo, se o ID vier nulo do meu comento SQL de inclusão, o banco pega o valor da sequencia e pronto, se vier com o valor 0 por exemplo, o Trigger testa o valor e gera um valor negativo. Há, e neste caso eu teria duas sequencias para a mesma tabela, uma sequencia normal e outra apenas para esta ocasião dos negativos, lembrando que seria apenas em algumas tabelas usadas em recursos que o sistema não irá poder parar, o restante eu informo que a operação está indisponível por problemas de comunicação com o servidor e pronto. Att, Fábio Thomaz Não achei esta mensagem do Euler que você respondeu... -- Atenciosamente, Alexsander da Rosa ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
Olá Alexsander, está uma mensagem antes de você entrar nesta thread: Também estive pensando em liberar operações em algumas partes críticas do sistema na base local, gerando uma PK com uma sequência de valores que ao invés de ser incrementada, seria decrementada a partir de zero, tendo assim uma sequência negativa. Estas, após o restabelecimento da conexão, seriam transportadas para o servidor principal, e neste momento, receberiam uma PK real. Fuja disso! Tecnicamente frágil. Att, Fábio Thomaz Em 16 de maio de 2013 16:00, Alexsander Rosa alexsander.r...@gmail.comescreveu: Em 16 de maio de 2013 13:15, Fábio Thomaz fabio_...@yahoo.com.brescreveu: Olá Euler, Quando você diz: Fuja disso! Tecnicamente frágil., seria pela possível falha na geração deste número sequencial negativo? Pois para estas tabelas pensei em ter uma sequencia normal, mas sendo chamada através de um Trigger que iria capturar o próximo valor, multiplicar por -1 e atribuir ao campo. Neste caso eu também terei que padronizar algumas coisas, tipo, se o ID vier nulo do meu comento SQL de inclusão, o banco pega o valor da sequencia e pronto, se vier com o valor 0 por exemplo, o Trigger testa o valor e gera um valor negativo. Há, e neste caso eu teria duas sequencias para a mesma tabela, uma sequencia normal e outra apenas para esta ocasião dos negativos, lembrando que seria apenas em algumas tabelas usadas em recursos que o sistema não irá poder parar, o restante eu informo que a operação está indisponível por problemas de comunicação com o servidor e pronto. Att, Fábio Thomaz Não achei esta mensagem do Euler que você respondeu... -- Atenciosamente, Alexsander da Rosa ___ 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] Query Lenta
Acrescentando informações e duvidas. Testando a seguinte query: SELECT docnumero FROM frete01 WHERE docserie = ' U2' limit 10 Com EXPLAIN vi que o postgresql utiliza SEQSCAN, mas se eu tirar um espaço no ' U2' ele passa a usar o indice. Eu tenho um problema com os dados desta tabela e estamos trabalhando no programa para corrigir este problema do campo ter espaços no inicio do dado, mas seria possivel resolver por agora este problema ? Fazer ele usar o indice mesmo tendo este espaço na frente do dado no campo ? Mais uma vez agradeço a atenção recebida. 2013/5/16 Marco Aurelio marcoprod...@gmail.com Grande Euller, Vamos la, valores das consultas que me pediu: PostgreSQL 8.1.4 on i386-portbld-freebsd6.1, compiled by GCC cc (GCC) 3.4.4 [FreeBSD] 20050518 client_encoding;SQL_ASCII;session client_min_messages;notice;session DateStyle;ISO, MDY;session effective_cache_size;39321;configuration file lc_messages;C;configuration file lc_monetary;C;configuration file lc_numeric;C;configuration file lc_time;C;configuration file listen_addresses;*;configuration file log_destination;stderr;configuration file log_directory;pg_log;configuration file log_duration;off;configuration file log_filename;postgresql-%Y-%m-%d.log;configuration file log_line_prefix;%t [%p]: [%l-1] user=%u,db=%d ;configuration file log_min_duration_statement;150;configuration file log_rotation_age;1440;configuration file log_statement;none;configuration file maintenance_work_mem;234905;configuration file max_connections;150;configuration file max_locks_per_transaction;256;configuration file random_page_cost;2;configuration file redirect_stderr;on;configuration file shared_buffers;39321;configuration file silent_mode;on;configuration file TimeZone;Brazil/East;command line work_mem;16517;configuration file PC: Core I3 4GB de RAM: Definições da tabela e dos indices: CREATE TABLE frete01 ( ctadebrece character(6), ctacrerece character(6), ctamda character(8), cpf_cgcrem character varying(18), cpf_cgcdes character varying(18), cpf_cgccon character varying(18), cpf_cgcrd character varying(18), cpf_cgcpag character varying(18), tipocarro character(1), codremeten numeric(6,0) DEFAULT 0, coddestina numeric(6,0) DEFAULT 0, coddespach numeric(6,0) DEFAULT 0, codredespa numeric(6,0) DEFAULT 0, codpagador numeric(6,0) DEFAULT 0, codtrajeto numeric(5,0) DEFAULT 0, leitcarga character(1), leitscob character(1), codempresa character(5), docnumero numeric(6,0) DEFAULT 0, docserie character(4), codfatura character(6), seriefatur character(4), codfuncion numeric(5,0) DEFAULT 0, redespacho character(1), redenumero numeric(6,0) DEFAULT 0, redeserie character(4), totalnotas numeric(13,2) DEFAULT 0, datalancam date, datadespac date, dataapagar date, datarecebi date, calculaate numeric(5,0) DEFAULT 0, valorunida numeric(13,2) DEFAULT 0, fretevalor numeric(13,2) DEFAULT 0, seccat numeric(13,2) DEFAULT 0, despacho numeric(13,2) DEFAULT 0, pedagio numeric(13,2) DEFAULT 0, outros numeric(13,2) DEFAULT 0, valorapaga numeric(13,2) DEFAULT 0, valorreceb numeric(13,2) DEFAULT 0, valorrepas numeric(13,2) DEFAULT 0, basecalcul numeric(6,2) DEFAULT 0, aliquota numeric(6,2) DEFAULT 0, icms numeric(13,2) DEFAULT 0, coleta numeric(13,2) DEFAULT 0, ademe numeric(13,2) DEFAULT 0, formapagam character(1), peso numeric(11,3) DEFAULT 0, cubagem numeric(7,0) DEFAULT 0, volumes numeric(4,0) DEFAULT 0, codfilorig numeric(5,0) DEFAULT 0, codfildest numeric(5,0) DEFAULT 0, codfilarre numeric(5,0) DEFAULT 0, observacao character varying(120), codmanifes character(6), seriemanif character(4), veiculo character(8), motorista character(6), natureza character varying(15), tipocarga character(1), descricao character varying(50), databaixa date, codtabela character(4), codtarifa character(3), codtributa character(7), recibonume character(6), reciboseri character(4), hrdespacho character(5), confdesc character(2), rmd character(6), dtconsigna date, dtentrega date, hrentrega character(5), ocorrencia character varying(30), dttickets date, dttickets2 date, dtproducao date, codtabicms character(3), valorfrete numeric(13,5) DEFAULT 0, aliq_subs numeric(5,2) DEFAULT 0, itr numeric(13,5) DEFAULT 0, totalnf numeric(13,2) DEFAULT 0, tptribut character(1), loccolet character varying(20), locentre character varying(20), usucolet character(10), usuentre character(10), veiculo2 character(8), veiculo3 character(8), motorista2 character(6), motorista3 character(6), veicx character(1), loc_imprer boolean, loc_imprec boolean, loc_impred boolean, loc_imprep boolean, stationid character(3), datestamp date, timestamp character(8), updcounter numeric(3,0) DEFAULT 0, espcar character
Re: [pgbr-geral] Configuração e Tunning Postgre 8.4
Olá Euler, Fiquei curioso e executei o teste conforme suas dicas, realmente o desempenho caiu 3x. Segue abaixo o resultado do benchmark: #pgbench -h localhost -p 5432 -c 10 -T 600 -d pgbench transaction type: TPC-B (sort of) scaling factor: 10 query mode: simple number of clients: 10 number of threads: 1 duration: 600 s number of transactions actually processed: 123431 tps = 205.709853 (including connections establishing) tps = 205.716761 (excluding connections establishing) Bom, fica de parâmetro para quem tiver utilizando máquina virtual (vmware). Em máquina física, o resultado deve ser bem melhor. - Mensagem original - De: Robson Kobayashi - TRE/MS robson.kobaya...@tre-ms.jus.br Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Enviadas: Quinta-feira, 16 de Maio de 2013 12:56:58 Assunto: Re: [pgbr-geral] Configuração e Tunning Postgre 8.4 Olá Euler, Agradeço pelas observações, Realmente 100 transações é pouco. Na verdade me utilizei estes valores pois foram utilizados em outro benchmark que está publicado na Internet e precisava saber se a minha máquina estava melhor, semelhante ou pior ao do teste (felizmente ficou 6x melhor). -- !- Atenciosamente: Robson Massaki Kobayashi SSOP/COINF/STI - TRE/MS (67)3326-5428 ou (67)3326-4166 ramal 218 !- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Material para replicação de dados Multi-master
On 16-05-2013 16:00, Alexsander Rosa wrote: Não achei esta mensagem do Euler que você respondeu... Vide o histórico [1] da lista. [1] http://listas.postgresql.org.br/pipermail/pgbr-geral/2013-May/034934.html -- 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] Drop FK demorado
Descobri o problema. Ela um lock de uma transação que deveria estar morta http://doc.nuxeo.com/display/KB/I+can%27t+delete+my+PostgreSQL+database Fiz esses procedimentos e matei a fk normalmente Em 16 de maio de 2013 12:10, Euler Taveira eu...@timbira.com.br escreveu: On 16-05-2013 10:46, Luiz Carlos L. Nogueira Jr. wrote: Pessoal, Existe algum motivo pra um drop de uma FK demorar? No momento o banco tinha sido reiniciado e não tinha ninguém conectado. PG 8.4 O que você quis dizer com drop de uma FK? Remover a restrição (aka constraint) ou remover a coluna? Ambos requerem um AccessExclusiveLock [1] na tabela, ou seja, até mesmo um SELECT na referida tabela em uma transação em aberto pode bloquear a execução de ALTER TABLE ... DROP CONSTRAINT. Uma outra hipótese é o autovacuum trabalhando nessa tabela. Utilize uma das consultas em [2] para verificar quem está bloqueando o ALTER TABLE. [1] http://www.postgresql.org/docs/8.4/static/explicit-locking.html#LOCKING-TABLES [2] http://wiki.postgresql.org/wiki/Lock_dependency_information -- 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