Re: [pgbr-geral] porcentagem só fica com valor arred ondado
pessoal, agradeço pela força mas nenhuma das formas deu certo..mas tudo bem sem stress... ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] porcentagem só fica com valor arred ondado
Em 27 de outubro de 2010 10:38, Beto Lima betol...@gmail.com escreveu: pessoal, agradeço pela força mas nenhuma das formas deu certo..mas tudo bem sem stress... Tente: ... trunc(( (SELECT count(candidato_cpf)::numeric AS total FROM classificacao_inscrito where edital_id = 11 and cargo_id = 59 and cli_classif_aprovado = true) * 100.0 / (SELECT count(distinct candidato_cpf)::numeric AS total FROM resposta_questao where rpq_resposta is not null and edital_id = 11 and cargo_id = 59) ),2) as indice_aprovacao ... Osvaldo PS. Se considerar mais adequado troque a função trunc por round. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] porcentagem só fica com valor arred ondado
Osvaldo, valeu mesmo deu certo. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Artigo sobre Window Functions
Escrevi um pequeno artigo sobre Window Functions (funções de janela) no meu blog, com base na palestra que fiz no PGDay-SP na semana passada. Para variar, os comentários superam o artigo... Quem quiser dar uma olhada está em: http://www.midstorm.org/~telles/2010/10/26/brincando-com-funcoes-de-janelas-window-functions/ Dúvidas, sugestões e cervejas são bem vindos. []s Fábio Telles -- blog: http://www.midstorm.org/~telles/ e-mail / jabber: fabio.tel...@gmail.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Fazer Backup e Restore Sem Erros
Pessoal, eu uso o pgAdmin3 pra gerenciar minhas bases... estou em ambiente windows Acontece que gero o Backup da maquina remota normal, mas quando tento Restaurar na minha maquina de desenvolvimento ele dá alguns erros. Existe uma forma eficiente de copiar com exatidão a base remota para tranportar pra outra máquina? No MySql faço essa tranferencia facinho. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Linux Kubuntu User number is # 24362___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Fazer Backup e Restore Sem Erros
Olá, Em 27 de outubro de 2010 16:32, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, eu uso o pgAdmin3 pra gerenciar minhas bases... estou em ambiente windows Acontece que gero o Backup da maquina remota normal, mas quando tento Restaurar na minha maquina de desenvolvimento ele dá alguns erros. Existe uma forma eficiente de copiar com exatidão a base remota para tranportar pra outra máquina? No MySql faço essa tranferencia facinho. Erros? Quais erros? Você dump texto ou binário? Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Linux Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.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] Sobre curso PostgreSQL HA
Pessoal, Esta é minha 1a. mensagem no grupo. Gostaria de saber se o curso http://www.dextra.com.br/servicos/treinamento/pg/postgres-alta-disponibilidade.htm nesta empresa de treinamento é recomendado e se alguém tem outra sugestão. Att. -- = Diogo Borsoi = ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Sobre curso PostgreSQL HA
Olá, Em 27 de outubro de 2010 16:49, Diogo Borsoi diogobor...@gmail.comescreveu: Pessoal, Esta é minha 1a. mensagem no grupo. Gostaria de saber se o curso http://www.dextra.com.br/servicos/treinamento/pg/postgres-alta-disponibilidade.htm nesta empresa de treinamento é recomendado e se alguém tem outra sugestão. Sou suspeito para falar, mas eu recomendaria este curso sim :) Att. -- = Diogo Borsoi = ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.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] Função em C
#include postgres.h #include utils/builtins.h /* convert C string to text pointer */ #define PG_TEXT_GET_STR(textp_) \ DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp_))) #define PG_STR_GET_TEXT(str_) \ DatumGetTextP(DirectFunctionCall1(textin, CStringGetDatum(str_))) #define PG_REPLACE_STR(str_, substr_, replacestr_) \ PG_TEXT_GET_STR(DirectFunctionCall3(replace_text, \ PG_STR_GET_TEXT(str_), \ PG_STR_GET_TEXT(substr_), \ PG_STR_GET_TEXT(replacestr_))) PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(foobar); Datum foobar(PG_FUNCTION_ARGS) { Datum result; result = PG_REPLACE_STR(Euler Taveira di Oliveira,di,de); return result; } select foobar(); foobar -- uler Taveira de Oliveira Esta comendo a primeira letra ? Em 22/10/2010 16:07, mateusgra mateus...@bol.com.br escreveu: A funcao esta travando. Gostaria de colcar o retorno em um tipo char ou text ? O seu exemplo esta comendo a primeira letra, a versão 8.3 não tem cstring_to_text ? #include pg_config.h #include postgres.h #include fmgr.h #include mb/pg_wchar.h #include utils/elog.h #include utils/builtins.h #ifdef PG_MODULE_MAGIC PG_MODULE_MAGIC; #endif PG_FUNCTION_INFO_V1(foobar); Datum foobar(PG_FUNCTION_ARGS) { text * str_text; str_text =DatumGetTextP(DirectFunctionCall3(replace_text, CStringGetDatum(JOAO DE MARIA),CStringGetDatum( DE ), CStringGetDatum( E ))); return str_text; } Em 22/10/2010 14:37, Euler Taveira de Oliveira eu...@timbira.com escreveu: mateusgra escreveu: error: too many arguments to function 'replace_text' replace_text(TEXTO RET TEXTO, RET, TEXTO) Você esqueceu de utilizar a representação interna do PostgreSQL. Tente algo como: #include postgres.h #include utils/builtins.h PG_MODULE_MAGIC; PG_FUNCTION_INFO_V1(foobar); Datum foobar(PG_FUNCTION_ARGS) { Datum result; result = DirectFunctionCall3(replace_text, PointerGetDatum(cstring_to_text(Euler Taveira di Oliveira)), PointerGetDatum(cstring_to_text(di)), PointerGetDatum(cstring_to_text(de))); return result; } -- 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] Fazer Backup e Restore Sem Erros
Ola Marcelo, Meu servidor remoto é Linux e desenvolvimento em Windows. Sempre realizo backup remotos de usuarios para testes locais, etc; Uso PgAdmin (muito pouco para backup) e arquivos .BAT (uso regularmentee) e nunca tive problemas, Quais mensagens estao ocorrendo ??? Att, Paulo. VisualP Sistemas. - Original Message - From: Marcelo Silva To: Comunidade PostgreSQL Brasileira Sent: Wednesday, October 27, 2010 4:32 PM Subject: [pgbr-geral] Fazer Backup e Restore Sem Erros Pessoal, eu uso o pgAdmin3 pra gerenciar minhas bases... estou em ambiente windows Acontece que gero o Backup da maquina remota normal, mas quando tento Restaurar na minha maquina de desenvolvimento ele dá alguns erros. Existe uma forma eficiente de copiar com exatidão a base remota para tranportar pra outra máquina? No MySql faço essa tranferencia facinho. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Linux Kubuntu User number is # 24362 __ NOD32 5568 (20101027) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com -- E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, clique aqui. Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. -- ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral __ NOD32 5568 (20101027) Information __ This message was checked by NOD32 antivirus system. http://www.eset.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] Fazer Backup e Restore Sem Erros
Olá, JotaComm Pois é... com um pouco de calma eximinei o que estava ocorrendo e acabei vendo que ele estava tentando restaurar por cima da base já existente, pois ele usa a nomenclatura base.tabela e eu só tinha renomeado a base anterior sem deletar... dava violacao Mas valeu a ajuda Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Kubuntu User number is # 24362 - Original Message - From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Wednesday, October 27, 2010 4:49 PM Subject: Re: [pgbr-geral] Fazer Backup e Restore Sem Erros Olá, Em 27 de outubro de 2010 16:32, Marcelo Silva marc...@ig.com.br escreveu: Pessoal, eu uso o pgAdmin3 pra gerenciar minhas bases... estou em ambiente windows Acontece que gero o Backup da maquina remota normal, mas quando tento Restaurar na minha maquina de desenvolvimento ele dá alguns erros. Existe uma forma eficiente de copiar com exatidão a base remota para tranportar pra outra máquina? No MySql faço essa tranferencia facinho. Erros? Quais erros? Você dump texto ou binário? Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Linux Kubuntu User number is # 24362 ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.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] Fazer Backup e Restore Sem Erros
é um erro na pecinha que fica em frente ao monitor rsrsrs Já peguei o jeito de fazer restore... tava apanhando no pgadmin :) Obrigado... - Original Message - From: VisualP Sistemas To: Comunidade PostgreSQL Brasileira Sent: Wednesday, October 27, 2010 4:55 PM Subject: Re: [pgbr-geral] Fazer Backup e Restore Sem Erros Ola Marcelo, Meu servidor remoto é Linux e desenvolvimento em Windows. Sempre realizo backup remotos de usuarios para testes locais, etc; Uso PgAdmin (muito pouco para backup) e arquivos .BAT (uso regularmentee) e nunca tive problemas, Quais mensagens estao ocorrendo ??? Att, Paulo. VisualP Sistemas. - Original Message - From: Marcelo Silva To: Comunidade PostgreSQL Brasileira Sent: Wednesday, October 27, 2010 4:32 PM Subject: [pgbr-geral] Fazer Backup e Restore Sem Erros Pessoal, eu uso o pgAdmin3 pra gerenciar minhas bases... estou em ambiente windows Acontece que gero o Backup da maquina remota normal, mas quando tento Restaurar na minha maquina de desenvolvimento ele dá alguns erros. Existe uma forma eficiente de copiar com exatidão a base remota para tranportar pra outra máquina? No MySql faço essa tranferencia facinho. Marcelo Silva msn: marc...@ig.com.br cel.: (11) 9693-4251 Linux Kubuntu User number is # 24362 __ NOD32 5568 (20101027) Information __ This message was checked by NOD32 antivirus system. http://www.eset.com E-mail verificado pelo Terra Anti-Spam. Para classificar esta mensagem como spam ou não spam, clique aqui. Verifique periodicamente a pasta Spam para garantir que apenas mensagens indesejadas sejam classificadas como Spam. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral __ NOD32 5568 (20101027) Information __ This message was checked by NOD32 antivirus system. http://www.eset.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] chamar funcao com array
E ai pessoal.. Tenho esta função CREATE OR REPLACE FUNCTION public.fc_zoom (lat varchar [], long varchar []) RETURNS integer AS $body$ DECLARE dist Integer; length Integer; result Integer; BEGIN length := array_upper($1, 1); dist := 0; result := 0; FOR i IN 1 .. length LOOP select into dist (point(lat[0],long[0]) - point(lat[i],long[i]))*100; if dist result then result := dist; end if; END LOOP; return result; EXCEPTION WHEN RAISE_EXCEPTION THEN return -1; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; estou tentando executa-la assim: select fc_zoom(ARRAY['-25.2356','-25.555'],ARRAY['-49.5689','-49.']); mas aparece este erro ERROR: function point(character varying, character varying) does not exist LINE 1: select (point( $1 [0], $2 [0]) - point( $1 [ $3 ], $2 [ $3... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. QUERY: select (point( $1 [0], $2 [0]) - point( $1 [ $3 ], $2 [ $3 ]))*100 CONTEXT: PL/pgSQL function fc_zoom line 12 at SQL statement Alguem poderia dar um help.. valeu... ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] chamar funcao com array
2010/10/27 Vinicius vinic...@totalsat.com.br: E ai pessoal.. Tenho esta função CREATE OR REPLACE FUNCTION public.fc_zoom (lat varchar [], long varchar []) RETURNS integer AS $body$ DECLARE dist Integer; length Integer; result Integer; BEGIN length := array_upper($1, 1); dist := 0; result := 0; FOR i IN 1 .. length LOOP select into dist (point(lat[0],long[0]) - point(lat[i],long[i]))*100; if dist result then result := dist; end if; END LOOP; return result; EXCEPTION WHEN RAISE_EXCEPTION THEN return -1; END; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; estou tentando executa-la assim: select fc_zoom(ARRAY['-25.2356','-25.555'],ARRAY['-49.5689','-49.']); mas aparece este erro ERROR: function point(character varying, character varying) does not exist LINE 1: select (point( $1 [0], $2 [0]) - point( $1 [ $3 ], $2 [ $3... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. QUERY: select (point( $1 [0], $2 [0]) - point( $1 [ $3 ], $2 [ $3 ]))*100 CONTEXT: PL/pgSQL function fc_zoom line 12 at SQL statement De acordo com o manual [1] a função point, em seu contexto, é point(double precision, double precision) e você está passando varchar como parâmetro. Provavelmente o uso de cast solucionará seu problema. point(lat[0]::double precision,long[0]::double precision) Osvaldo [1] http://www.postgresql.org/docs/current/interactive/functions-geometry.html ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Tabela Gigante
Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tabela Gigante
Em 27 de outubro de 2010 19:31, Listas lis...@arsweb.net.br escreveu: Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? Qual o significado de um campo auto-increment (serial no caso do PostgreSQL) nesse contexto? Quem for acessar seu sistema terá que saber qual foi o valor do auto-increment atribuído ao registro que deseja acessar? Não seria mais conveniente/eficiente pensar em chaves naturais? Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] ENC: Tabela Gigante
Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] ENC: Tabela Gigante
Olá, também sou programador entendo seu ponto de vista, porém, depois de alguns contatos com DBA, entendi que essa nossa mania de usar chave artificial em tudo que é canto não é muito bem vinda entre o pessoal de banco de dados. Eles costumam dizer: Utilize chaves artificiais somente quando necessário de fato. E eles realmente têm razão. Nós, programadores, que temos mania de criar todas as tabelas com chave artificial, mesmo quando totalmente desnecessário. Isso em partes é culpa de alguns ORM's e as vezes é só pq acostumou com jeito errado mesmo. outra coisa é que 260.000 registro não é exatamente uma tabela gigante. Em 27 de outubro de 2010 19:40, Listas lis...@arsweb.net.br escreveu: Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? ___ 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] geradores de relatórios
Eu não sou muito fá do PhpJavaBridge, uso Jasper com JasperServer pra gerar os relatórios acessando via WS. Ficou muito bom. Abs Daniel Augusto Bastos Em 27 de outubro de 2010 00:49, Pablo Sánchez phack...@gmail.com escreveu: também pode-se usar o jasper com o php http://alexm.unetvale.com.br/blog/2010/04/gerando-relatorios-com-jasper-no-php-mini-how-to/ Em 26 de outubro de 2010 22:48, Émerson Eng. emersonnar...@gmail.comescreveu: Muito em breve iniciarei o desenvolvimento de um gerador de relatorios adaptado a realidade do software que desenvolvo, mas antes, quero ver as soluções existentes para ter base conceitual e técnica. Irei postar aqui uma avaliação pessoal de todas as sugestões + as que eu conheço. Em 26 de outubro de 2010 20:32, Osvaldo Kussama osvaldo.kuss...@gmail.com escreveu: Em 26 de outubro de 2010 09:11, Émerson Eng. emersonnar...@gmail.com escreveu: Bom dia a todos :) Vocês conhecem geradores de relatórios bons open source? Se sim, quais? Sei que é recorrente na lista a questão, mas os participantes da lista se atualizam. Avalie o Pentaho Reporting: http://www.pentaho.com/products/reporting/ Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- * Pablo Santiago Sánchez* ZCE ZEND006757 phack...@gmail.com (61) 9975-0883 http://www.sansis.com.br *Quidquid latine dictum sit, altum viditur* ___ 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] Sobre curso PostgreSQL HA
Diogo Borsoi escreveu: Gostaria de saber se o curso http://www.dextra.com.br/servicos/treinamento/pg/postgres-alta-disponibilidade.htm nesta empresa de treinamento é recomendado e se alguém tem outra sugestão. Não estou discordando do Jota mas existem outras alternativas [1]. [1] http://www.4linux.com.br/cursos/postgresql-alta-performance-alta-disponibilidade-459.html -- 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
Re: [pgbr-geral] Tabela Gigante
Ola, Seja bem vindo alista. Para o PostgreSQL 260.000 registros não é tanta coisa assim, acho que você terá bons tempos de retorno. Aconselho você normalizar suas tabela pelo menos até a (3FN) terceira forma normal veja[1] Já houvi desenvolvedores falando 'Mas vou ter que fazer JOINs...', pois é... vai, e crie as regras de relacionamento entre as tabelas foreign key, isso é muito importante. Para o ID você pode criar do tipo SERIAL e defini-la como PRIMARY KEY.[2] Existem formas interessantes para se criar índices para melhorar a performance, veja[3], mas não pare por ai, de mais uma busca na net que você achará formas de se criar índices muito interessantes. [1]http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados [2]http://www.postgresql.org/docs/8.1/interactive/datatype.html#DATATYPE-SERIAL [3]http://www.postgresql.org/docs/current/static/sql-createindex.html Subject: [pgbr-geral] Tabela Gigante Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tabela Gigante
260.000 é piada para o PostgreSQL, mesmo para realizar buscas. Eu trabalho com um banco com 46 milhões de registros em uma única tabela usando PostgreSQL. Não é o banco principal, é de redundância, mas ele aguenta muito bem, desde que com índices bem feitos. No meu caso: - Desnormalizei tudo, usei tudo em uma única tabela e não faço nenhum join. (sim, repliquei colunas.. campos vazios... etc) - Separei os campos principais de buscas em mais de um campo. E coloquei índice para todos esses campos. Ex: nome_completo - primeiro_nome, ultimo_nome. Então, # select * from tabela where primeiro_nome = 'Jose' and ultimo_nome = 'Silva'; de certa forma, fica como se fosse um like e ao mesmo tempo com muito desempenho. - Criei esses índices de nomes usando o próprio valor do campo no índice. O PostgreSQL por default faz um hash do valor para melhor uso de memória e a comparação. Pra fazer isso: # create index idx_nome on tabela (nome varchar_pattern_ops); Esse varchar_pattern_ops que faz isso acontecer Com isso, a consulta: # SELECT * FROM tabela WHERE nome LIKE 'JOS%' utiliza o índice para fazer o LIKE. Dessa forma, a busca será muito rápida (te garanto, no meu caso ficou em ~25 ms), mas esse LIKE só vai funcionar para quando a busca iniciar com determinado valor. LIKE '%ANA%' ou LIKE '%ANA' vão funcionar, mas fazendo full scan. Enfim, tudo que fiz nesse meu case escrevi nesse post: http://www.emersonmoretto.com/articles/tag/postgres%209 * Não sou especialista em PostgreSQL, apenas admiro, defendo e uso desde a versão 7.2 ** Espero ter ajudado e não ter te confundido mais att Emerson Moretto 2010/10/27 Listas lis...@arsweb.net.br Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- []s Emerson G Moretto emore...@gmail.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] RES: Digest pgbr-geral, volume 22, assunto 55
Olá, Muito obrigado pelas resposta minha dúvida é se eu uso auto_increment ou como vcs chamam de incremento natural, não sei bem se é isso Também não sei se eu uso tabelas diferentes para CEP, Cidade, Estado, Pais e relaciono todas, tambem não sei como fezer isso ... rs .. Bem olha a minha estrutura de tabela: CREATE TABLE lista_guia ( indice serial NOT NULL, nome character varying NOT NULL, empresa character varying NOT NULL, cnpj character varying NOT NULL, cpf character varying NOT NULL, endereco character varying NOT NULL, numero character varying NOT NULL, complemento character varying NOT NULL, bairro character varying NOT NULL, cep character varying NOT NULL, cidade character varying NOT NULL, estado character varying NOT NULL, pais character varying NOT NULL, detalhes text NOT NULL, data_cadastro timestamp NOT NULL DEFAULT now() ) WITH (OIDS=FALSE); -- Chave primaria da tabela endereco ALTER TABLE lista_guia ADD CONSTRAINT pk_endereco PRIMARY KEY(indice); Será que isso está correto Não é simples demais para uma tabela que terá milhões de registros ??? Obrigado. -Mensagem original- De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de pgbr-geral-requ...@listas.postgresql.org.br Enviada em: quarta-feira, 27 de outubro de 2010 22:10 Para: pgbr-geral@listas.postgresql.org.br Assunto: Digest pgbr-geral, volume 22, assunto 55 Send pgbr-geral mailing list submissions to pgbr-geral@listas.postgresql.org.br To subscribe or unsubscribe via the World Wide Web, visit https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral or, via email, send a message with subject or body 'help' to pgbr-geral-requ...@listas.postgresql.org.br You can reach the person managing the list at pgbr-geral-ow...@listas.postgresql.org.br When replying, please edit your Subject line so it is more specific than Re: Contents of pgbr-geral digest... Tópicos de Hoje: 1. Re: Tabela Gigante (Osvaldo Kussama) 2. ENC: Tabela Gigante (Listas) 3. Re: ENC: Tabela Gigante (Magno Junior) 4. Re: geradores de relatórios (Daniel Augusto Bastos) 5. Re: Sobre curso PostgreSQL HA (Euler Taveira de Oliveira) 6. Re: Tabela Gigante ( rogeriogrando ) -- Message: 1 Date: Wed, 27 Oct 2010 19:38:11 -0200 From: Osvaldo Kussama osvaldo.kuss...@gmail.com Subject: Re: [pgbr-geral] Tabela Gigante To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktimzmh=svnfrsfnxvvvtk+zjlnt8fdnrz8jbm...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Em 27 de outubro de 2010 19:31, Listas lis...@arsweb.net.br escreveu: Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? Qual o significado de um campo auto-increment (serial no caso do PostgreSQL) nesse contexto? Quem for acessar seu sistema terá que saber qual foi o valor do auto-increment atribuído ao registro que deseja acessar? Não seria mais conveniente/eficiente pensar em chaves naturais? Osvaldo -- Message: 2 Date: Wed, 27 Oct 2010 19:40:20 -0200 From: Listas lis...@arsweb.net.br Subject: [pgbr-geral] ENC: Tabela Gigante To: pgbr-geral@listas.postgresql.org.br Message-ID: 003001cb761f$8e19cb70$aa4d62...@arsweb.net.br Content-Type: text/plain; charset=iso-8859-1 Olá Pessoal, Sou programador em PHP e utiliso o mysql para fazer meus sistemas, bom, estou desenvolvendo um sistema on-line de uma lista telefonica e resolvi usar o postgresql como banco de dados. Porém, estou com dúvidas de como fazer a tabela no banco. A tabela va conter de arrancada 260.000 registros Vai ser um cadastro normal de usuario, como ( Id, nome, endereço, cep, cidade, estado, anuncio, etc ) Gostaria de saber como criar esta tabela, a estrutura, tipo auto_increment, ja que esta tabela vai ser imensa e terá que fazer buscas rápidas. Alguem poderia me ajudar ??? -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20101027/3d b71c84/attachment-0001.htm -- Message: 3 Date: Wed, 27 Oct 2010 19:54:30 -0200 From: Magno Junior is.magn...@gmail.com Subject: Re: [pgbr-geral] ENC: Tabela Gigante To: Comunidade PostgreSQL Brasileira pgbr-geral
Re: [pgbr-geral] RES: Digest pgbr-geral, volume 22, assunto 55
Em 28 de outubro de 2010 00:51, Listas lis...@arsweb.net.br escreveu: Olá, Muito obrigado pelas resposta minha dúvida é se eu uso auto_increment ou como vcs chamam de incremento natural, não sei bem se é isso Também não sei se eu uso tabelas diferentes para CEP, Cidade, Estado, Pais e relaciono todas, tambem não sei como fezer isso ... rs .. Bem olha a minha estrutura de tabela: CREATE TABLE lista_guia ( indice serial NOT NULL, nome character varying NOT NULL, empresa character varying NOT NULL, cnpj character varying NOT NULL, cpf character varying NOT NULL, endereco character varying NOT NULL, numero character varying NOT NULL, complemento character varying NOT NULL, bairro character varying NOT NULL, cep character varying NOT NULL, cidade character varying NOT NULL, estado character varying NOT NULL, pais character varying NOT NULL, detalhes text NOT NULL, data_cadastro timestamp NOT NULL DEFAULT now() ) WITH (OIDS=FALSE); -- Chave primaria da tabela endereco ALTER TABLE lista_guia ADD CONSTRAINT pk_endereco PRIMARY KEY(indice); Será que isso está correto Não é simples demais para uma tabela que terá milhões de registros ??? Evite ao máximo responder a mensagens do tipo digest. Caso não seja possível evitar pelo menos apague tudo o que não estiver no contexto. A primeira observação é que ou se é Pessoa Física ou se é Pessoa Jurídica, nunca ambas simultaneamente. Portanto analise a possibilidade de um particionamento de sua tabela. Volta a insistir em minha questão anterior: para que servirá esta chave primária (índice) em sua aplicação? Para enfeite? Quando você a utilizará? Você pode ter tabelas para cidades, estados, países e utilizá-las para consistência e validação de seus dados (chaves estrangeiras). Dependendo do tipo de endereço que for cadastrar em seu bd a divisão acima pode não ser a mais adequada, veja por ex. o seguinte endereço: Estrada da Pindaíba km 17,5; 2ª entrada à esquerda; 3ª bifurcação à direita; casa verde junto a margem do rio. Não planeje apenas com o olhar dos grandes centros urbanos, o país é bem maior e mais complexo que isso. Na mesma linha, como você colocou pais parece que você pretende incluir em sua tabela pessoas de outros países. Você tem certeza que este tipo de formatação de endereço é válido para outros países? Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral