[pgbr-geral] função: como criar series sem que se multipliquem
Ola à lista, Tenho o seguinte disparador para quando faço um INSERT de um novo registo (polígono incêndio florestal) me crie 100 pontos regulares noutra tabela. A dificuldade que encontro é em numerar esses pontos de 1 a 100, porque cada vez que tento meter um generate_series(1,100) multiplica-me os 100 pontos pela serie (de 1 a 100) e fico com 1 pontos. Entendo que esse seja o resultado lógico, embora não o desejado. Alguém tem uma sugestão para que isto não ocorra? --DROP TRIGGER trg_escv_incendios_todos_subtablas ON sch_ambiente.escv_incendios_todos; --DROP FUNCTION sch_ambiente.trg_escv_incendios_todos_subtablas(); CREATE OR REPLACE FUNCTION sch_ambiente.trg_escv_incendios_todos_subtablas() RETURNS trigger AS $BODY$ BEGIN IF (TG_OP = 'DELETE') THEN DELETE FROM sch_ambiente.escv_incendios_puntos_muestreo WHERE fir_code = OLD.fir_code; ELSIF (TG_OP = 'UPDATE') OR (TG_OP = 'INSERT') THEN -- elimina anteriores para evitar repetidos DELETE FROM sch_ambiente.escv_incendios_puntos_muestreo WHERE fir_code = NEW.fir_code; -- Puntos de muestreo INSERT INTO sch_ambiente.escv_incendios_puntos_muestreo( -- poi_code -> CAMPO SERIE DE 1 A 100 fir_code, fir_name, geom) (SELECT -- generate_series(1,100) -> SERIE DE 1 A 100 NEW.fir_code, NEW.fir_name, t1.geom FROM (SELECT tx.fir_code, ST_Setsrid(ST_MakePoint(tx.x, ty.y), 23030) AS geom FROM (SELECT NEW.fir_code AS fir_code, generate_series( (SELECT cast(ST_XMin(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)+((SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)/2), (SELECT cast(ST_XMax(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code), (SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)) AS x) AS tx JOIN (SELECT NEW.fir_code AS fir_code, generate_series( (SELECT cast(ST_YMin(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)+((SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)/2), (SELECT cast(ST_YMax(ST_Envelope(geom_23030)) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code), (SELECT cast(sqrt(ST_Area(geom_23030)/100) AS int) FROM sch_ambiente.escv_incendios_todos WHERE fir_code=NEW.fir_code)) AS y) AS ty ON tx.fir_code = ty.fir_code) AS t1, sch_ambiente.escv_incendios_todos AS t2 WHERE t2.fir_code = NEW.fir_code AND (t1.geom && t2.geom_23030) AND ST_Intersects(t1.geom, t2.geom_23030)) LIMIT 100; END IF; RETURN NULL; END; $BODY$ LANGUAGE plpgsql; CREATE TRIGGER trg_escv_incendios_todos_subtablas AFTER INSERT OR UPDATE OR DELETE ON sch_ambiente.escv_incendios_todos FOR EACH ROW EXECUTE PROCEDURE sch_ambiente.trg_escv_incendios_todos_subtablas(); Obrigado, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.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] quantidade de ocorrencia de uma string
desta forma não deu certo, talvez tenha explicado mal. ex: Rua:|João Pereira|344|Centro preciso contar quantos pipes existem nessa ocorrência. Neste caso 3. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] quantidade de ocorrencia de uma string
Beto, --query 1, com ER, retornando apenas uma linha SELECT COUNT(1) FROM regexp_matches('a,b,c,d,a,c', 'a', 'g'); /* Resultado count 2 (1 rows) */ --query 2, usandos o padrão da string separado por virgulas SELECT x.x[i] , count(*) FROM string_to_array('a,b,c,d,a,c', ',') AS x, generate_series(1,array_upper(string_to_array(cast('a,b,c,d,a,c' as text),','),1)) AS i GROUP BY 1; /* Resultado x | count +--- b | 1 c | 2 d | 1 a | 2 (4 rows) */ Espero ter ajudado. Emerson Hermann Em 5 de abril de 2011 09:11, Beto Lima escreveu: > desta forma não deu certo, talvez tenha explicado mal. > ex: Rua:|João Pereira|344|Centro > > preciso contar quantos pipes existem nessa ocorrência. Neste caso 3. > > > ___ > 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] quantidade de ocorrencia de uma string
Em 5 de abril de 2011 09:11, Beto Lima escreveu: > desta forma não deu certo, talvez tenha explicado mal. > ex: Rua:|João Pereira|344|Centro > > preciso contar quantos pipes existem nessa ocorrência. Neste caso 3. > > Uma alternativa: postgres@bdteste=# select array_upper(string_to_array('Rua:|João Pereira|344|Centro', '|'), 1) - 1; ?column? -- 3 (1 row) -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] livro
comprei o livre PostgreSQL guia do programador da novatec chegou agora, o que vcs acham deste livro ? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Comparativos - Implantação.
Amigos, Algumas dúvidas, 1- Gostaria de ter acesso a comparativos que tenham sido realizados do Tipo. PostgreSQL X Oracle, PostGreSQL X DB2, PostGreSQL x MySQL e se tem alguma ferramenta para tirar o Banco de Dados do ORACLE para o POSTGRESQL,(automatica, semi-automatica, manual). 2- Como funciona a licença do SGBD. 3 - Custos para Implantação, Migração de ORACLE para POSTGRESQL 4 - Custos para o Treinamento para DBA e AD 5 - Empresa para dar suporte no Rio de Janeiro. Abraços, CLAUDIO VIANA (21) 3411-9516 (21) 8832-2565 - Oi Skype:claudio.coelho.viana msn: claudioviana1...@hotmail.com coelhovi...@gmail.com cvi...@ig.com.br claudio.coelho.vi...@oi.com.br CAMPANHA ANTI-SPAM Ao repassar mensagens particulares, retire os dados de quem lhe enviou o email e coloque o(s) destinatário(s)s no campo CCO (com cópia oculta) ou BCC em inglês, deixando os demais em branco. Desta forma, não só o seu endereço de email como o de todos com quem se comunica serão preservados. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comparativos - Implantação.
2011/4/5 CLAUDIO VIANA : > 1- Gostaria de ter acesso a comparativos que tenham sido realizados do > Tipo. > PostgreSQL X Oracle, Não há comparativos diretos, porque a Oracle os proíbe. O máximo possível é analisar documentação, e resultados TPC, que também nunca são diretamente comparáveis. Quando a Sun ainda existia, chegaram a publicar alguns que mostravam duas configurações não tão díspares em que o PostgreSQL era 15% mais lento que o Oracle, num sistema dez vezes mais barato. Como já faz algum tempo, eu esperaria que hoje a diferença de custo fosse ainda maior, e a de desempenho, muito pequena, nula ou até favorável ao elefante. > PostGreSQL X DB2, Esse será mais difícil, dada a relativamente pouca visibilidade do DB2. > PostGreSQL x MySQL Há vários, Google é teu amigo. Mas nem tem comparação. > e se tem alguma ferramenta para tirar o Banco de Dados do ORACLE para o > POSTGRESQL,(automatica, semi-automatica, manual). Várias, olhe no http://techdocs.postgresql.org/. > 2- Como funciona a licença do SGBD. Ela é curta e simples de ler, melhor trazeres as dúvidas. > 3 - Custos para Implantação, Migração de ORACLE para POSTGRESQL Caso-a-caso, contrate uma consultoria. > 4 - Custos para o Treinamento para DBA e AD Procure uma das empresas especializadas, como a Dextra, a 4Linux, a PgOpen… mas AD não é específico de SGBD. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comparativos - Implantação.
Em 5 de abril de 2011 11:18, Leandro DUTRA escreveu: > > > > Várias, olhe no http://techdocs.postgresql.org/. > > > > O link correto não seria: http://wiki.postgresql.org -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Comparativos - Implantação.
Em 5 de abril de 2011 10:49, CLAUDIO VIANA escreveu: > Amigos, > Algumas dúvidas, > > 1- Gostaria de ter acesso a comparativos que tenham sido realizados do > Tipo. > PostgreSQL X Oracle, > PostGreSQL X DB2, > PostGreSQL x MySQL Olha, os comparativos que eu conheço por aí são muito ruins. Eu mesmo já me arrependi de ter escrito algo neste sentido. O que você encontrar na Internet será vago, tendencioso e ultrapassado. Alguma coisa +/- confiável pode ser encontrada em: http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems Mas os critérios podem ser muito vagos. Meus conselhos: * Se você está fazendo um trabalho acadêmico: seja mais seletivo no seu escopo, seu alvo é muito vago. * Se você está querendo desenvolver uma nova aplicação, defina quais são os requisitos para o seu banco de dados, depois pesquise quais suportam os seus requisitos; * Se você já tem uma aplicação e quer portar ela para PostgreSQL, aí sim você tem documentação no WIKI em: http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL > > e se tem alguma ferramenta para tirar o Banco de Dados do ORACLE para o > POSTGRESQL,(automatica, semi-automatica, manual). > > 2- Como funciona a licença do SGBD. A licença é a BSD: http://pt.wikipedia.org/wiki/Licen%C3%A7a_BSD > > 3 - Custos para Implantação, Migração de ORACLE para POSTGRESQL Resposta de consultor: DEPENDE. > > 4 - Custos para o Treinamento para DBA e AD AD não costuma fazer treinamento específico para um banco de dados, apesar de eu concordar que o dicionário de dados permite coisas específicas. Depende muito da qualificação da sua equipe existente, e do nível que se precisa atingir. Ou seja: DEPENDE. > > 5 - Empresa para dar suporte no Rio de Janeiro. Procure em: http://www.postgresql.org/support/professional_support_southamerica ou solicite ajuda aqui na lista mesmo. -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] PostgreSQL dbExperts no Windows 2008
Pessoal, eu sei que esse assunto já surgiu por aqui, mas alguém já conseguiu implantar o PGSQL da dbExperts no Windows Server 2008? Estamos para substituir um servidor (que atualmente roda o W2003) que virá com o W2008, mas até agora não conseguimos fazer funcionar, o serviço inicia e cai logo em seguida. Já tentei dezenas de tutoriais que encontrei na internet, mas nada resolveu. Antes que falem, não temos como substituir o postgres por um mais novo, o sistema já existe e está implantando, e não tem como migrar de versão agora. GG ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] quantidade de ocorrencia de uma string
Pessoal muito obrigado mesmo. deu certo. ___ 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 dbExperts no Windows 2008
2011/4/5 Guilherme Groke : > Pessoal, eu sei que esse assunto já surgiu por aqui, mas alguém já > conseguiu implantar o PGSQL da dbExperts no Windows Server 2008? A dbExperts é a única que tem o código-fonte de sua versão. Isso dito, parece que ela pirateou o CygWin, então qualquer consultor que conheça bem (1) MS Windows Server 2008, (2) Cygwin e (3) PostgreSQL pode te ajudar. Boa sorte para achar um bicho desses, e prepara os bolsos… Claro que, migrando para um SGBD livre como o PostgreSQL padrão, não haveria problema algum em te ajudarmos, desde que trouxesses mais informações sobre teu problema. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm ___ 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 dbExperts no Windows 2008
Guilherme, precisamos de mais evidencias, tenta identificar logs do postgreSQL e no visualizador de eventos do windows possíveis falhas e nos manda, com essas informações poderíamos ter uma ideia do problema e possíveis soluções. --- ๏̯͡๏ Israel Teixeira Em 5 de abril de 2011 12:13, Leandro DUTRA escreveu: > 2011/4/5 Guilherme Groke : > > Pessoal, eu sei que esse assunto já surgiu por aqui, mas alguém já > > conseguiu implantar o PGSQL da dbExperts no Windows Server 2008? > > A dbExperts é a única que tem o código-fonte de sua versão. > > Isso dito, parece que ela pirateou o CygWin, então qualquer consultor > que conheça bem (1) MS Windows Server 2008, (2) Cygwin e (3) > PostgreSQL pode te ajudar. Boa sorte para achar um bicho desses, e > prepara os bolsos… > > Claro que, migrando para um SGBD livre como o PostgreSQL padrão, não > haveria problema algum em te ajudarmos, desde que trouxesses mais > informações sobre teu problema. > > > -- > skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra > +55 (61) 3546 7191 gTalk: xmpp:leand...@jabber.org > +55 (11) 9406 7191ICQ/AIM: aim:GoIM?screenname=61287803 > BRAZIL GMT-3 MSN: msnim:chat?contact=lean...@dutra.fastmail.fm > ___ > 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] livro
Também tenho um mas prefiro usar o help é mais completo, além usar o help de cada versão. A guia é interessante para quem está entrando no mundo PostgreSQL ajuda bastante att Rodrigo 2011/4/5 solution network - jaitonys > comprei o livre PostgreSQL guia do programador da novatec > chegou agora, o que vcs acham deste livro ? > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- *Atenciosamente* * * *Rodrigo Della Justina* *rodrigodellajust...@gmail.com* *rodrigodellajust...@ciss.com.br* Telp: 55-46-8801-6165 *IBM DB2 Certified Database Academic* ** ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Plano de Execução e Otimização - EXPLAINT
Não escreva EXPLAIN. Coloque apenas sua consulta e clique no botão Explain do PgAdmin. Em 1 de abril de 2011 09:26, izana souza torres escreveu: > Nobre colegas, estou usando o PgAdmin3, e executo uma Query > > Explain SELECT * FROM aluno > > > > Blz ele me mostra o planto de execução e tudo mais na paleta Saída de Dado, > mas quanto eu > > clico na paleta do lato chamada EXPLAIN ele não me mostrar o visual das > tabelas e como será > > feito a execução, pergunto é necessário realizar alguma configuração > especial no PGadmin3 para > > eu conseguir visualizar isso na paleta EXPLAIN do pgadmin3 > > > > Nesse link e autor faz exatamente o que eu não consigo realizar > > http://www.devmedia.com.br/articles/viewcomp.asp?comp=7263 > > > > Muito obrigado. > > ___ > 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] Dúvida sobre WORK_MEM
> Apenas para ratificar então, o work_mem é por conexão, mas é um > limitador apenas, não uma memória préalocada, ok? O work_mem não é por conexão. Do manual: "Note that for a complex query, several sort or hash operations might be running in parallel; each operation will be allowed to use as much memory as this value specifies before it starts to write data into temporary files." Explica que o work_mem pode ser alocado diversas vezes numa consulta complexa. Sim, o work_mem é um limite, não é uma alocação imediata. Minha regra de ouro pra evitar falta de memória num servidor PostgreSQL: shared_buffers + 2 * work_mem * max_connections + maintenance_work_mem * autovacuum_max_workers < RAM disponível Lembrando que "RAM disponível" é o que sobra dela, subtraia aí o que seu SO precisa pra rodar e outras eventuais aplicações na mesma máquina. []s Flavio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Dúvida sobre WORK_MEM
Valeu Flávio, vou comparar sua regra com algumas configurações que costumo fazer. um abraço Fábio Gibon - Original Message - From: "Flavio Henrique Araque Gurgel" To: "Fábio Gibon - Comex System" ; "Comunidade PostgreSQL Brasileira" Sent: Tuesday, April 05, 2011 7:55 PM Subject: Re: [pgbr-geral] Dúvida sobre WORK_MEM > Apenas para ratificar então, o work_mem é por conexão, mas é um > limitador apenas, não uma memória préalocada, ok? O work_mem não é por conexão. Do manual: "Note that for a complex query, several sort or hash operations might be running in parallel; each operation will be allowed to use as much memory as this value specifies before it starts to write data into temporary files." Explica que o work_mem pode ser alocado diversas vezes numa consulta complexa. Sim, o work_mem é um limite, não é uma alocação imediata. Minha regra de ouro pra evitar falta de memória num servidor PostgreSQL: shared_buffers + 2 * work_mem * max_connections + maintenance_work_mem * autovacuum_max_workers < RAM disponível Lembrando que "RAM disponível" é o que sobra dela, subtraia aí o que seu SO precisa pra rodar e outras eventuais aplicações na mesma máquina. []s Flavio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral