[pgbr-geral] Res: Como vincular campos de outra tabela?
De: Pablo Sánchez phack...@gmail.com Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Enviadas: Sexta-feira, 5 de Fevereiro de 2010 16:42:01 Assunto: Re: [pgbr-geral] Como vincular campos de outra tabela? Em 5 de fevereiro de 2010 15:46, Nelson Gonzaga ngonz...@yahoo.com escreveu: Olá a todos, Existe em Postgresql a possibilidade de vincular campos de uma view em uma tabela e criar um indice deste campo? É o seguinte: Fiz uma view que concatena varios campos de um monte de tabelas para preencher os listbox, porem ficou muito lento, se eu conseguir criar uma tabela com esses campos vinculados e criar um indice disso e jogar esse campo no listbox ai fica instantaneo. Você precisaria de materialized views, um recurso que ainda não tem no PostgreSQL, mas tem como implantar manualmente. Primeiro, leia este artigo para entender se é ou não o seu caso http://www.revsys.com/blog/2006/jan/03/when-to-use-a-materialized-view-in-postgresql/ Depois, rale em cima destes 2: http://tech.jonathangardner.net/wiki/PostgreSQL/Materialized_Views http://www.benjaminarai.com/benjamin_arai/index.php?display=/postgresql_materialized_views.php É isso mesmo que preciso, valeu a dica e ja ate achei um erro na function refresh_matview desse site do benjamim. Obrigado a todos pelo empenho em ajudar. NG -- = Pablo Santiago Sánchez Análise e Desenvolvimento de Sistemas Web Zend Certified Engineer #ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.sansis.com.br http://www.corephp.com.br Quidquid latine dictum sit, altum viditur = Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.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] PostgreSQL no Windows 7 Ultimate 64 bits
Blz.. vou tentar encontrar mais fontes e posto aqui, caso consiga. Obrigado! João Alberto Giaccomassi Analista de Sistemas 16.9148.2390 Em 6 de fevereiro de 2010 19:21, Moisés Paes Sena moisesps...@gmail.comescreveu: 2010/2/6 João Alberto Giaccomassi giaccoma...@yahoo.com.br Nada feito. Dá o mesmo erro, independente do modo de compatibilidade, tentei vários. Tá difícil... instalei o MySQL pra fazer um teste e funcionou perfeitamente. O PostgreSQL poderia funcionar fácil assim também né vou ver se consigo fazer o Windows se comunicar com o Linux na máquina virtual e aí vou desenvolvendo com a VM ligada. Instalar no Win7 64 tá complicado! João Alberto Giaccomassi Analista de Sistemas 16.9148.2390 Minhas referencias se escotaram, caso consiga resolver nao postar na lista, este é um fator extremamente importante e muitas pessoas já tiveram problemas relacionados a isto e algumas conseguiram resolver. Percebi tambem que a maioria dos erros sao identicos mas a forma como alguns foi resolvido foi bem diferente. Reforco, se resolver, posta na lista. Grande abraço -- Moisés P. Sena (Programador WEB) http://blog.moisespsena.com http://www.moisespsena.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] bagunçar dados de teste
Prezados, Preciso criar um processo que bagunce os dados de teste ( que sao copiados da producao) de modo que tenhamos uma seguranca referente a informacao. Exemplo, modificar cpf/cnpj, nome de clientes, dadoas de endereco, fones, valores faturados, etc. Sei que o DB2 tem um processo semelhante. Alguem ja fez algo do tipo ou sabe se existe algo para postgres? Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Procedures
Bom dia pessoal, estou criando um script em pl/pgsql e preciso acessar dados em bases de dados diferentes. De que modo posso realizar isto? seria +ou- de forma hierarquica? base.template.table -- Abraços.. Marcel Araujo System Analyst Developer Java/PHP/RIA Linux User #490101 http://br.linkedin.com/in/marcelaraujo http://www.twitter.com/marcelaraujo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Sequenciador Maluco
Olá, Em um cliente e uma máquina com XP acontece algo que eu nunca tinha visto, um sequenciador de uma tabela conta até 10 e depois reinicia, como se estiver marcado no banco a opção Ciclica MAS NÃO ESTÁ, porque nos outros terminais funciona normalmente. Quando me falaram isso por telefone achei estranho porque até onde eu conheço achava que o banco que controla os sequenciadores. Pensei que fossem dlls mais estão igual a todas as outras máquinas. Bom...minha sugestão ao cliente, formate e reinstale o sistema operacional novamente. :( Alguém já passou por isso ou tem alguma idéia do que possa ser. Obrigado. PS: Servidor: Server 2003 - Postgres 8.4.0 Claudio Oliveira http://www.msisolucoes.com.br _ No Messenger você pode tranformar sua imagem de exibição num vídeo. Veja aqui! http://www.windowslive.com.br/public/tip.aspx/view/97?product=2ocid=Windows Live:Dicas - Imagem Dinamica:Hotmail:Tagline:1x1:Mexa-se___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Procedures
Olá Marcel! Já tentou utilizar o dblink? http://www.postgresql.org/docs/current/static/contrib-dblink.html Dá uma googleada que vc encontra bastante material de como instalar e utilizar esta contrib. Abrç Chiqueti Em 8 de fevereiro de 2010 10:40, Marcel Araujo ceceld...@gmail.com escreveu: Bom dia pessoal, estou criando um script em pl/pgsql e preciso acessar dados em bases de dados diferentes. De que modo posso realizar isto? seria +ou- de forma hierarquica? base.template.table -- Abraços.. Marcel Araujo System Analyst Developer Java/PHP/RIA Linux User #490101 http://br.linkedin.com/in/marcelaraujo http://www.twitter.com/marcelaraujo ___ 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] Procedures
Obrigado! Vou pesquisar sim... Até o momento a solução que acredito solucionar meu problema é restaurar a base em um novo schema. -- Abraços.. Marcel Araujo System Analyst Developer Java/PHP/RIA Linux User #490101 http://br.linkedin.com/in/marcelaraujo http://www.twitter.com/marcelaraujo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PHP X Postgresql
2010/2/5 Moisés Paes Sena moisesps...@gmail.com - use os nomes das entidades em PORTUGUES, no SINGULAR (ex.: pessoa, fone, fonepessoa, email, emailpessoa, etc), em relacionamentos Muitos para Muitos use r + entidade1 + entidade2 = rgrupousuario; Isso é arbitrário não é? - em propriedades de chave primária com id use id + (3 letras da entidade) [ex.: pessoa.idpes, fone.idfon, email.idema, fonepessoa.idfop, etc]; Fica feio não? E confuso também. Se já se vai se referir a pessoa.id, qual é a vantagem de pessoa.idpes? Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Sequenciador Maluco
Olá Claudio, Provavelmente quando essa sequence foi criada foi setado que o valor máximo dela deveria ser 10... assim quando o valor da sequence for 10 e pedir um nextval da sequence, ela vai resetar e voltar pra 1. verifique isso dando um select na sequence, e verifique qual valor está em max_value. Caso esteja um valor baixo, como 10 dito por ti abaixo, execute o sql abaixo para voltar o max_value da sequence para o default do banco: alter sequence sequence_seq NO MAXVALUE; Espero ter ajudado. Att, Rafael Domiciano 2010/2/8 Claudio Oliveira claudio...@hotmail.com Olá, Em um cliente e uma máquina com XP acontece algo que eu nunca tinha visto, um sequenciador de uma tabela conta até 10 e depois reinicia, como se estiver marcado no banco a opção Ciclica MAS NÃO ESTÁ, porque nos outros terminais funciona normalmente. Quando me falaram isso por telefone achei estranho porque até onde eu conheço achava que o banco que controla os sequenciadores. Pensei que fossem dlls mais estão igual a todas as outras máquinas. Bom...minha sugestão ao cliente, formate e reinstale o sistema operacional novamente. :( Alguém já passou por isso ou tem alguma idéia do que possa ser. Obrigado. PS: Servidor: Server 2003 - Postgres 8.4.0 *Claudio Oliveira * *http://www.msisolucoes.com.br* -- Fique protegido enquanto navega na Internet. Instale o Internet Explorer 8. http://go.microsoft.com/?linkid=9707132 ___ 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] PHP X Postgresql
Em 8 de fevereiro de 2010 11:33, Roberto Mello roberto.me...@gmail.comescreveu: 2010/2/5 Moisés Paes Sena moisesps...@gmail.com - use os nomes das entidades em PORTUGUES, no SINGULAR (ex.: pessoa, fone, fonepessoa, email, emailpessoa, etc), em relacionamentos Muitos para Muitos use r + entidade1 + entidade2 = rgrupousuario; Isso é arbitrário não é? o prefixo r é de relacionamento, fica fácil vc identicar que esta tabela é MxM. em views uso sempre o prefixo v, exemplo: vusuario - em propriedades de chave primária com id use id + (3 letras da entidade) [ex.: pessoa.idpes, fone.idfon, email.idema, fonepessoa.idfop, etc]; Fica feio não? E confuso também. Se já se vai se referir a pessoa.id, qual é a vantagem de pessoa.idpes? Se você criar uma view a partir de um select entre duas tabelas você terá o id das duas tabelas sem precisar criar um alias para os campos. Além disto, nos campos seriais voce pode criar a sequencia com o nome seqidusu ou seqidgru e por ai vai. As sequencias nao são apenas para campos de chave primária, portanto você pode ter mais de um campo serial na mesma tabela, e fica fácil identificar os que são de uso em chave primária. Isto facilita muito quando você utiliza softwares como pgadmin, você começa digitar e ele já vai localizando corretamente. Descrobri a importância destes padroes na empresa em que trabalho, temos um BD com 568 tabelas, se nao seguir o padrao fica muito difícil identicar as coisas. -- Moisés P. Sena (Programador WEB) http://blog.moisespsena.com http://www.moisespsena.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] bagunçar dados de teste
2010/2/8 Jorge Luiz jorgesanfel...@gmail.com: Prezados, Preciso criar um processo que bagunce os dados de teste ( que sao copiados da producao) de modo que tenhamos uma seguranca referente a informacao. Exemplo, modificar cpf/cnpj, nome de clientes, dadoas de endereco, fones, valores faturados, etc. Por que não gerar os dados falsos com DBI::Fake? -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.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] Sequenciador Maluco
Olá Rafael, Não é esse o caso porque em outras máquinas do mesmo cliente funciona normalmente. Obrigado. Claudio Oliveira http://www.msisolucoes.com.br Date: Mon, 8 Feb 2010 11:54:48 -0200 From: rafael.domici...@gmail.com To: pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] Sequenciador Maluco Olá Claudio, Provavelmente quando essa sequence foi criada foi setado que o valor máximo dela deveria ser 10... assim quando o valor da sequence for 10 e pedir um nextval da sequence, ela vai resetar e voltar pra 1. verifique isso dando um select na sequence, e verifique qual valor está em max_value. Caso esteja um valor baixo, como 10 dito por ti abaixo, execute o sql abaixo para voltar o max_value da sequence para o default do banco: alter sequence sequence_seq NO MAXVALUE; Espero ter ajudado. Att, Rafael Domiciano 2010/2/8 Claudio Oliveira claudio...@hotmail.com Olá, Em um cliente e uma máquina com XP acontece algo que eu nunca tinha visto, um sequenciador de uma tabela conta até 10 e depois reinicia, como se estiver marcado no banco a opção Ciclica MAS NÃO ESTÁ, porque nos outros terminais funciona normalmente. Quando me falaram isso por telefone achei estranho porque até onde eu conheço achava que o banco que controla os sequenciadores. Pensei que fossem dlls mais estão igual a todas as outras máquinas. Bom...minha sugestão ao cliente, formate e reinstale o sistema operacional novamente. :( Alguém já passou por isso ou tem alguma idéia do que possa ser. Obrigado. PS: Servidor: Server 2003 - Postgres 8.4.0 Claudio Oliveira http://www.msisolucoes.com.br Fique protegido enquanto navega na Internet. Instale o Internet Explorer 8. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _ Você sabia que o Windows 7 inicia e desliga mais rápido? Clique e conheça mais. http://www.microsoft.com/brasil/windows7/default.html?WT.mc_id=1539___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] PHP X Postgresql
Em 8 de fevereiro de 2010 13:03, Moisés Paes Sena moisesps...@gmail.comescreveu: Em 8 de fevereiro de 2010 11:33, Roberto Mello roberto.me...@gmail.comescreveu: 2010/2/5 Moisés Paes Sena moisesps...@gmail.com - use os nomes das entidades em PORTUGUES, no SINGULAR (ex.: pessoa, fone, fonepessoa, email, emailpessoa, etc), em relacionamentos Muitos para Muitos use r + entidade1 + entidade2 = rgrupousuario; Isso é arbitrário não é? o prefixo r é de relacionamento, fica fácil vc identicar que esta tabela é MxM. em views uso sempre o prefixo v, exemplo: vusuario - em propriedades de chave primária com id use id + (3 letras da entidade) [ex.: pessoa.idpes, fone.idfon, email.idema, fonepessoa.idfop, etc]; Fica feio não? E confuso também. Se já se vai se referir a pessoa.id, qual é a vantagem de pessoa.idpes? Se você criar uma view a partir de um select entre duas tabelas você terá o id das duas tabelas sem precisar criar um alias para os campos. Além disto, nos campos seriais voce pode criar a sequencia com o nome seqidusu ou seqidgru e por ai vai. As sequencias nao são apenas para campos de chave primária, portanto você pode ter mais de um campo serial na mesma tabela, e fica fácil identificar os que são de uso em chave primária. Isto facilita muito quando você utiliza softwares como pgadmin, você começa digitar e ele já vai localizando corretamente. Descrobri a importância destes padroes na empresa em que trabalho, temos um BD com 568 tabelas, se nao seguir o padrao fica muito difícil identicar as coisas. Boa tarde, Padrões são deveras importante, mas não há nenhum padrão ideal. Podes preferir um e outro achar que esse padrão não serve para ele. Quando deres sugestão de padrão, aconselho explicitar que é uma sugestão, fica parecendo ser uma regra geral, mesmo sendo uma regra específica para alguns usuários e não influi no aprender postgreSQL. Aliás, eu pessoalmente não uso teu padrão de nomes para ids porque o considero desnecessário para mim (não vejo problema em criar visões com alias, aliás considero o uso de alias uma boa prática). Mas isso são questões de um indivíduo a outro ou de uma empresa a outra (se for regra empresarial). Abraços, André. -- Moisés P. Sena (Programador WEB) http://blog.moisespsena.com http://www.moisespsena.com ___ -- André de Camargo Fernandes ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] bagunçar dados de teste
Leo, muito me interessa a geração de dados aleatórios apenas para testar a aplicação, onde eu posso encontrar mais sobre o assunto? Existe algum software que faça isto? Atenciosamente, Guilherme de Carvalho Carneiro Analista de sistemas DTI | Prefeitura Municipal de Palmas 2010/2/8 Leonardo Cezar lhce...@gmail.com 2010/2/8 Jorge Luiz jorgesanfel...@gmail.com: Prezados, Preciso criar um processo que bagunce os dados de teste ( que sao copiados da producao) de modo que tenhamos uma seguranca referente a informacao. Exemplo, modificar cpf/cnpj, nome de clientes, dadoas de endereco, fones, valores faturados, etc. Por que não gerar os dados falsos com DBI::Fake? -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.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] PHP X Postgresql
- em propriedades de chave primária com id use id + (3 letras da entidade) [ex.: pessoa.idpes, fone.idfon, email.idema, fonepessoa.idfop, etc]; Fica feio não? E confuso também. Se já se vai se referir a pessoa.id, qual é a vantagem de pessoa.idpes? Cada um pensa de uma forma. Eu, particularmente, odeio esse tipo de nomenclatura. Prefiro uma que me permita visualizar uma estrutura de tabelas e seu relacionamento mesmo sem a utilização de qualquer ferramenta gráfica de auxílio do banco, em modo texto mesmo. Uso sempre prefixo nos campos. por ex. Pessoas - pes_id - pes_nome - pes_cpf sei que id repesenta uma chave sei tambem que não tem estrangeiras Matriculas - mat_data - cur_id - pes_id com essa tabela, só de olhar já vejo dois relacionamentos, sendo que cur_id e pes_id são estrangeiras. Com os prefixos nos nomes de campo, alcando três objetivos - não terá, em nenhuma tabela, campos com o mesmo nome de outra tabela - facilita a criação dos sqls em ambiente texto e na aplicação - explicando a lógica, os novatos aprendem mais rápido o esquema do banco Desvantagens - o nome dos campos fica 3,4 caracteres maior Tenho +-400 tabelas num banco de dados, e raramente preciso ver o ER/DER/MER. É claro... nunca se esquecendo dos ... comment on table ... comment on column Rudinei Dias ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Sequenciador Maluco
Em 8 de fevereiro de 2010 10:47, Claudio Oliveira claudio...@hotmail.com escreveu: Olá, Em um cliente e uma máquina com XP acontece algo que eu nunca tinha visto, um sequenciador de uma tabela conta até 10 e depois reinicia, como se estiver marcado no banco a opção Ciclica MAS NÃO ESTÁ, porque nos outros terminais funciona normalmente. Quando me falaram isso por telefone achei estranho porque até onde eu conheço achava que o banco que controla os sequenciadores. Pensei que fossem dlls mais estão igual a todas as outras máquinas. Bom...minha sugestão ao cliente, formate e reinstale o sistema operacional novamente. :( Alguém já passou por isso ou tem alguma idéia do que possa ser. Obrigado. PS: Servidor: Server 2003 - Postgres 8.4.0 Apenas para esclarecer: quando você fala cliente você quer dizer uma máquina cliente de seu servidor PostgreSQL? Ou seria um servidor PostgreSQL de um cliente? 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] bagunçar dados de teste
2010/2/8 Guilherme Carvalho desenvolvedor@gmail.com: Leo, muito me interessa a geração de dados aleatórios apenas para testar a aplicação, onde eu posso encontrar mais sobre o assunto? Existe algum software que faça isto? Exemplo nome e empresa com saída para csv: $ perl -CPAN -e shell cpan[1] install Data::Faker cpan[1]! use Data::Faker; my $d = Data::Faker-new(); for(my $i=0; $i 10; ++$i){print $d-name.;.$d-company.\n} Mr. Abe Rempel;Turner, Stokes and Gutkowski Pedro O'Kon;Maggio-Walker Dr. Francisco Schaefer;Hermiston and Sons Lera Ebert;Anderson, Wintheiser and Homenick Hellen Wehner;Rice, Kunze and Stiedemann Marlon Schulist;Block-Kunde Kendra Becker;Lubowitz-Hilpert Grace Schneider;Bayer Inc Junius Boyle;Koepp-Casper Andy Predovic;Ziemann, Carter and Auer Abraço! -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral