Re: [pgbr-geral] Instalação do Postgres 9.1 no Debian Squeeze
Jean, Mas o source do backports foi do Debian ou do Ubuntu ? Pois o que consegui usar foi do Ubuntu. Abraços, Em 13 de agosto de 2012 14:00, Jean Domingues ejdom...@yahoo.com.brescreveu: Foi exatamente assim, adicionando o backports ao source.list, atualizando o apt e instalando normalmente. De: Targino Silveira targinosilve...@gmail.com Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Enviadas: Sábado, 11 de Agosto de 2012 11:52 Assunto: [pgbr-geral] Instalação do Postgres 9.1 no Debian Squeeze Pessoal, A um tempo quando precisei instalar o Postgres 9.1 no Debian Squeeze tive que usar um source do Ubuntu, pois não consegui usar o source Backports do Debian, alguém tem conseguido instalar com o source do próprio Debian ? Qual tem sido o procedimento ? Abraços, -- Targino Silveira +55-85-8626-7297 www.twitter.com/targinosilveira ___ 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 -- Targino Silveira +55-85-8626-7297 www.twitter.com/targinosilveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Tabelas do Firebird
Bom dia, Converti minha tabela do firebird para postgresql, mas no Delphi XE2 quando tento abrir a tabela, dá o seguinte erro: 'Tipo, expecting: String, actual: WideString', sei que posso remover e incluir novamente, mas são vários campos. Tem alguma outra forma de fazer ??? Obrigado(a), Antonio Pires ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tabelas do Firebird
Bom dia, Você deve remover os campos tipo string (TFieldString) do Fields editor de suas tables e querys e adiciona-los novamente. Já passei por esse problema e é a solução mais apropriada. Em 14 de agosto de 2012 04:55, Arrobba Sistemas del...@arrobbasistemas.com.br escreveu: Bom dia, ** ** Converti minha tabela do firebird para postgresql, mas no Delphi XE2 quando tento abrir a tabela, dá o seguinte erro: 'Tipo, expecting: String, actual: WideString', sei que posso remover e incluir novamente, mas são vários campos. Tem alguma outra forma de fazer ??? ** ** ** ** Obrigado(a), ** ** ** ** Antonio Pires ** ** ___ 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] Instalação Postgree 9.1.4.1 Win 7 64 Bits
Em 13 de agosto de 2012 14:12, Hélio Oliveira hpensa...@gmail.com escreveu: Boa tarde Julio! Realmente esta foi a solução... criei as pastas manualmente e depois fiz a instalação e desta forma a mesma ocorreu normalmente sem erros. Então, este problema é um velho conhecido e ocorre principalmente, mas não somente, por dois fatores: 1) A unidade C:\ ou D:\ foi compartilhada em algum momento desde que o Windows foi instalado, e dependendo do tempo e do humor (porque não é sempre) o S.O. refaz as permissões de pasta nos seus subdiretórios bloqueando a gravação para qualquer usuário diferente do grupo Administradores - claro que existe um padrão de comportamento que eu não soube identificar ainda; 2) Em algum momento as permissões de escrito de alguma pasta superior à ..\PostgreSQL foi modificada bloqueando a gravação pelo usuário postgres; Agora uma pergunta: já tentei por vezes criar a pasta manualmente e dar as devidas permissões ao usuário postgres, mas o instalador por algum motivo aborta a instalação dizendo que a pasta já existe. Como foi feito este procedimento no seu caso? -- TIAGO J. ADAMI http://www.adamiworks.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] Ajuda com select
On Mon, Aug 13, 2012 at 7:41 PM, Edson - Listas edson...@gmail.com wrote: Olá Pessoal, O meu select abaixo, esta duplicando as linhas, mesmo usando DISTINCT. select DISTINCT a.cd_fil,a.cd_ordem,a.dt_abertura, a.cd_cli,f.nm_cli,f.de_endereco,f.fone, a.vlr_final_os,a.vlr_desc_os,a.vlr_outros, a.vlr_tot_prod,a.vlr_tot_serv,a.servico_solicitado, a.de_ocorrencia, h.de_cid,a.cd_funcio,e.nm_funcio,b.cd_prod, g.de_prod,b.qtde_prod,b.vlr_unit_prod,b.perc_desc_prod, b.vlr_desc_prod,b.vlr_prod,b.total_prod, c.cd_servico,d.de_servico,c.qtd_serc,c.vlr_unit, c.perc_desc_serv,c.vlr_desc,c.vlr_serv, c.sub_total, CASE WHEN a.fg_tipo_os = 'INS' THEN 'INSTALAÇÃO' WHEN a.fg_tipo_os = 'MAN' THEN 'MANUTENÇÃO' WHEN a.fg_tipo_os = 'MAN' THEN 'MANUTENÇÃO' WHEN a.fg_tipo_os = 'ACO' THEN 'À COBRAR' WHEN a.fg_tipo_os = 'GAR' THEN 'GARANTIA' WHEN a.fg_tipo_os = 'CON' THEN 'CONTRATO' WHEN a.fg_tipo_os = 'ORC' THEN 'ORÇAMENTO' ELSE 'OUTROS' END tipo_os, CASE WHEN a.fg_status_os = 'AB' THEN 'ABERTA' WHEN a.fg_status_os = 'FC' THEN 'FECHADA' ELSE 'INVÁLIDA' END status_os from osservhe a inner JOIN osprodut b on a.cd_ordem = b.cd_ordem inner join cliente f on a.cd_cli = f.cd_cli inner join vendfunc e on a.cd_funcio = e.cd_funcio inner join osservde c on a.cd_ordem = c.cd_ordem left join produto g on b.cd_prod = g.cd_prod left join servicos d on c.cd_servico = d.cd_servico inner join cidade h on f.cd_cid = h.cd_cid order by a.dt_abertura,a.cd_ordem Tem certeza? Não são campos parecidos, mas não idênticos (p.e. com espaços extras)? Veja que o DISTINCT como você está usando tenta verificar *todas as colunas*, se quiser só alguns campos tem que ser o DISTINCT ON, talvez você queria os que estão no ORDER BY: select DISTINCT ON (a.dt_abertura,a.cd_ordem) a.cd_fil,a.cd_ordem,a.dt_abertura, ... Atenciosamente, -- Matheus de Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Tabelas do Firebird
Como o Matheus disse isso é sim problema de encoding No Zeos temos que adicionar client_encoding=latin1 codepage=latin1 nas propriedades da conexao Não sei qual componente está usando pra conectar, mas deve ter algum lugar pra colocar isso ae Marcelo Silva --- From: Francisco Adriano Flores Sent: Tuesday, August 14, 2012 8:16 AM To: Comunidade PostgreSQL Brasileira Subject: Re: [pgbr-geral] Tabelas do Firebird Bom dia, Você deve remover os campos tipo string (TFieldString) do Fields editor de suas tables e querys e adiciona-los novamente. Já passei por esse problema e é a solução mais apropriada. Em 14 de agosto de 2012 04:55, Arrobba Sistemas del...@arrobbasistemas.com.br escreveu: Bom dia, Converti minha tabela do firebird para postgresql, mas no Delphi XE2 quando tento abrir a tabela, dá o seguinte erro: 'Tipo, expecting: String, actual: WideString', sei que posso remover e incluir novamente, mas são vários campos. Tem alguma outra forma de fazer ??? Obrigado(a), Antonio Pires ___ 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] Instalação Postgree 9.1.4.1 Win 7 64 Bits
Bom dia Tiago! No meu caso eu já havia dado permissão de controle total tanto na unidade C quanto na D e mesmo assim não estava conseguindo obter sucesso no processo de instalação, daí quando o amigo Julio Francisco deu a dica de criar as pastas manualmente e eu fiz exatamente isto. Na unidade D criei uma pasta com o nome PG e dentro desta criei a pasta Data, foi suficiente para que a instalação ocorrece normalmente. Só lembrando que no meu caso a UAC já encontrava-se desligada. Tiago Adami escreveu na notícia da mensagem:CA+tEPeMfp-qA+sKS=lkxvr1yhavfhf4euwtho8xjfdn6njz...@mail.gmail.com... Em 13 de agosto de 2012 14:12, Hélio Oliveira hpensa...@gmail.com escreveu: Boa tarde Julio! Realmente esta foi a solução... criei as pastas manualmente e depois fiz a instalação e desta forma a mesma ocorreu normalmente sem erros. Então, este problema é um velho conhecido e ocorre principalmente, mas não somente, por dois fatores: 1) A unidade C:\ ou D:\ foi compartilhada em algum momento desde que o Windows foi instalado, e dependendo do tempo e do humor (porque não é sempre) o S.O. refaz as permissões de pasta nos seus subdiretórios bloqueando a gravação para qualquer usuário diferente do grupo Administradores - claro que existe um padrão de comportamento que eu não soube identificar ainda; 2) Em algum momento as permissões de escrito de alguma pasta superior à ..\PostgreSQL foi modificada bloqueando a gravação pelo usuário postgres; Agora uma pergunta: já tentei por vezes criar a pasta manualmente e dar as devidas permissões ao usuário postgres, mas o instalador por algum motivo aborta a instalação dizendo que a pasta já existe. Como foi feito este procedimento no seu caso? -- TIAGO J. ADAMI http://www.adamiworks.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] PgSql + Django
Olá Para ficar registrado caso alguém tenha o mesmo problema: Baixei o aplicativo psycopg2, instalei com python2.7 e supimpa. ;-) Albino ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Encoding e Charset
Bom dia Colegas! Estou começando estudos do Postgres para futura utilização em projetos novos. Até o presente momento trabalho com Firebird e no mesmo utilizo o conjunto de Charset/Collate Win1252/Win_ptbr que atende 100% a questão de acentuação e ordenamento dos campos string, logo pergunto aos nobres que já tem experiência com o PG qual o melhor conjunto de Encoding/Charset a ser utilizado? [ ]'s, Hélio Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Encoding e Charset
veja essa discursão anterior: http://postgresql.1045698.n5.nabble.com/Alterar-encoding-Backup-e-Restores-td2029729.html Em 14 de agosto de 2012 09:09, Hélio Oliveira hpensa...@gmail.comescreveu: Bom dia Colegas! Estou começando estudos do Postgres para futura utilização em projetos novos. Até o presente momento trabalho com Firebird e no mesmo utilizo o conjunto de Charset/Collate Win1252/Win_ptbr que atende 100% a questão de acentuação e ordenamento dos campos string, logo pergunto aos nobres que já tem experiência com o PG qual o melhor conjunto de Encoding/Charset a ser utilizado? [ ]'s, Hélio Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Anselmo M. Silva ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Encoding e Charset
2012/8/14 Hélio Oliveira hpensa...@gmail.com: utilizo o conjunto de Charset/Collate Win1252/Win_ptbr que atende 100% a questão de acentuação e ordenamento dos campos string, Entretanto, é específico do MS Windows, e atende apenas as línguas da Europa ocidental. Se não me engano, ficou obsoleto com o Euro (€), junto com o ISO 8859‐1. pergunto aos nobres que já tem experiência com o PG qual o melhor conjunto de Encoding/Charset a ser utilizado? Independente do SGBD, o ideal hoje em dia é trabalhar com Unicode, cuja codificação mais popular é, de longe, UTF‐8. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Listagem (relação) das SEQUENCES
Bom dia. JotaComm ao executar o comando alterando 'public' para o nome de um schema do meu banco ocorreu o seguinte erro : ERROR: negative substring length not allowed Acredito que seja por causa do -21 que esteja promovendo um corte além do necessário. De toda sorte, agradeço fortemente a ajuda. MN Em 13 de agosto de 2012 15:55, JotaComm jota.c...@gmail.com escreveu: Opa, Fiz uma solução rápida aqui. Veja se atende: Em 10 de agosto de 2012 17:20, Marcos Aurelio Nobre marcono...@gmail.com escreveu: Boa tarde pessoal. Eu estou precisando consultar nas sys_tables quais são as Sequences e respectivas Tabelas a que estão associadas, dentro de determinado schema. Alguém saberia me dizer como que eu Quero o banco para me prover esta consulta/listagem ? SELECT pg_class.relname AS tabela, substr(pg_catalog.pg_get_expr(pg_attrdef.adbin,pg_attrdef.adrelid),10,length(pg_catalog.pg_get_expr(pg_attrdef.adbin,pg_attrdef.adrelid))-21) AS sequencia FROM pg_namespace JOIN pg_class ON pg_namespace.oid=pg_class.relnamespace JOIN pg_attribute ON pg_class.oid=pg_attribute.attrelid JOIN pg_attrdef ON pg_attribute.attrelid=pg_attrdef.adrelid AND pg_attribute.attnum=pg_attrdef.adnum WHERE pg_namespace.nspname='public' AND pg_attribute.atthasdef; Gratos: MN ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Abraços -- 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] Listagem (relação) das SEQUENCES
Matheus, essa query mata a charada ! Com pequenos ajustes (presentes na transcrição a seguir), meu problema está resolvido ! SELECT s.relname AS sequence, t.relname AS table, a.attname AS column_pk FROM pg_class s JOIN pg_depend d ON s.oid = d.objid JOIN pg_class t ON d.refobjid = t.oid JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = d.refobjsubid *JOIN pg_namespace ON pg_namespace.oid=s.relnamespace* WHERE s.relkind = 'S' *AND pg_namespace.nspname='schema_de_interesse'* Valeu ! Marcos Nobre Em 13 de agosto de 2012 16:52, Matheus de Oliveira matioli.math...@gmail.com escreveu: 2012/8/13 Matheus de Oliveira matioli.math...@gmail.com 2012/8/13 Flavio Henrique Araque Gurgel fla...@4linux.com.br Em 10-08-2012 17:20, Marcos Aurelio Nobre escreveu: Boa tarde pessoal. Sou só eu ou mais pessoas estão recebendo mensagens com data do dia 10 da lista só hoje? Não, eu também recebi com dia 10. Eu estou precisando consultar nas sys_tables quais são as Sequences e respectivas Tabelas a que estão associadas, dentro de determinado schema. Alguém saberia me dizer como que eu Quero o banco para me prover esta consulta/listagem ? Acho que isso não é possível. As sequências *não* são associadas a tabelas. O que se faz é utilizá-las como valor padrão para determinada coluna, ou utilizar gatilhos e outras funções para obter o valor da sequência. Note que uma sequência pode ser inclusive utilizada por mais de uma tabela. A associação sequência - tabela é mera formalidade para a utilização de valores seriais em determinadas colunas. Na verdade, existe sim uma certa dependência, mas não é tão restrita. Veja em [1], na criação (ou alteração) de uma sequence você pode definir um campo de uma tabela para ser o dono dessa sequence. Bastando definir OWNDED BY tabela.coluna. Isso não deixa de ser uma mera formalidade, como você disse, mas garante que ao excluir a coluna, a sequence será excluída também. Marcos, para recuperar as sequences, é simples, basta consultar a tabela pg_class filtrando por relkind = 'S' (OBS: S maiúsculo). Agora, pegar a dependência (que citei acima), eu não sei, mas tem armazenado em algum lugar, vou ver se acho aqui, talvez seja na pg_depends. [1] http://www.postgresql.org/docs/9.1/static/sql-createsequence.html Fiz uns testes aqui e parece que é baseado só na pg_depend mesmo, quando eu altero o OWNED BY ela é alterada. E, seguindo isso consegui chegar na seguinte consulta: SELECT s.relname AS sequence, t.relname AS table, a.attname AS column FROM pg_class s JOIN pg_depend d ON s.oid = d.objid JOIN pg_class t ON d.refobjid = t.oid JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = d.refobjsubid WHERE s.relkind = 'S'; Veja que só funcionará se você usou corretamente o OWNED BY. E, saiba também que se você criou os tipos como serial, bigserial ou smallserial, isso já foi feito para você. -- Matheus de Oliveira ___ 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] Listagem (relação) das SEQUENCES
2012/8/14 Marcos Aurelio Nobre marcono...@gmail.com Matheus, essa query mata a charada ! Com pequenos ajustes (presentes na transcrição a seguir), meu problema está resolvido ! SELECT s.relname AS sequence, t.relname AS table, a.attname AS column_pk FROM pg_class s JOIN pg_depend d ON s.oid = d.objid JOIN pg_class t ON d.refobjid = t.oid JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = d.refobjsubid *JOIN pg_namespace ON pg_namespace.oid=s.relnamespace* WHERE s.relkind = 'S' *AND pg_namespace.nspname='schema_de_interesse'* É, eu tenho esse costume de ignorar o schema. Ficou bom assim. Valeu ! Sussa. -- Matheus de Oliveira ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] REF. Formatar Casa Decimal.
Ola Pessoal, Tenho o meu Select abaixo: select a.setor, sum(case extract(month from data) when 1 then a.valor else 0 end) as Jan, sum(case extract(month from data) when 1 then a.valor*b.repassa/100 else 0 end) as RepJan, FABRICA 01;400.00;40. Preciso retornar a formatação do calculo como: 40.00, apenas duas casas decimais. Alguem tem alguma dica ? Att, Paulo. VisualP Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] REF. Formatar Casa Decimal.
Paulo, tente fazer um cast((a.valor*b.repassa/100) as numeric(12,2)) Testa ai... pa...@visualpsistemas.com.br escreveu na notícia da mensagem:877E427095DF4779A793F70881EFB906@notevp... Ola Pessoal, Tenho o meu Select abaixo: select a.setor, sum(case extract(month from data) when 1 then a.valor else 0 end) as Jan, sum(case extract(month from data) when 1 then a.valor*b.repassa/100 else 0 end) as RepJan, FABRICA 01;400.00;40. Preciso retornar a formatação do calculo como: 40.00, apenas duas casas decimais. Alguem tem alguma dica ? Att, Paulo. VisualP Sistemas. ___ 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] REF. Formatar Casa Decimal.
Opa, 2012/8/14 pa...@visualpsistemas.com.br ** Ola Pessoal, Tenho o meu Select abaixo: select a.setor, sum(case extract(month from data) when 1 then a.valor else 0 end) as Jan, sum(case extract(month from data) when 1 then a.valor*b.repassa/100 else 0 end) as RepJan, FABRICA 01;400.00;40. Preciso retornar a formatação do calculo como: 40.00, apenas duas casas decimais. Alguem tem alguma dica ? Sim. A documentação em http://www.postgresql.org/docs/9.1/interactive/functions-math.html Att, Paulo. VisualP Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Abraços -- 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] Lista e site fora
Acredito tbm que tenha ficado fora mesmo. O gmail ficou me notificando (durante uns 3 a 4 dias) que não conseguia entregar e-mails meus ao servidor da lista de discussão. E me parece que somente ontem é que isso foi resolvido e eu obtive ajuda em minhas dúvidas. MN Em 13 de agosto de 2012 16:25, Leonardo Carneiro chesterma...@gmail.comescreveu: Pessoa, foi só eu ou a lista e o site postgresql.org.br ficou fora desde o dia 7? Att. Leonardo 'Chester' Carneiro ___ 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] Muitas conexões no banco
Boa tarde a todos, Estou com um problema aqui em meu BD (PostgreSQL 8.3.5 on amd64-portbld-freebsd7.0) Existem algumas aplicações de geoprocessamento que fazem uso do banco, porém o que me chamou atenção, e o que levou ao problema foram as diversas conexões abertas. Tenho o max_connections = 800. Recebi alguns chamados de algumas aplicações com erro, e para minha surpresa ao tentar conectar via pgadmin não consegui, dizendo que o limite de conexões havia excedido. Como media emergencial reiniciei o banco, so que em uns 40 minutos já havia excedido novamente. Fiquei preocupado até achando que era algum ataque. Acessei o server status e constatei que existiam várias conexões em IDLE de um mesmo usuário para um mesmo banco. Para não impactar em outras aplicações os servidores que estavam conectando exponencialmente foram desligados. Neste momento no meu server status tenho 39 conexões, todas marcadas como IDLE, tenho por volta de 6 conexões partindo de um mesmo servidor, utilizando o mesmo usuário acessando o mesmo banco. Em pesquisa verifiquei os seguintes parametros do postgresql.conf: *tcp_keepalives_idle, tcp_keepalives_interval e tcp_keepalives_count* Porém não entendi muito bem a aplicabilidade, até cheguei a testar o tcp_keepalive_idle porém não observei nenhuma mudança. Busquei nas mensagens anteriores do fórum porém não achei a solução para aplicar. Desde já agradeço a atenção Att. Thiago Lima Santos ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] REF. Formatar Casa Decimal.
Obrigado a todos que responderam. Valeu JotaComm, consegui com round(v numeric, s int). Abraços. Paulo. - Original Message - From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Tuesday, August 14, 2012 5:01 PM Subject: Re: [pgbr-geral] REF. Formatar Casa Decimal. Opa, 2012/8/14 pa...@visualpsistemas.com.br Ola Pessoal, Tenho o meu Select abaixo: select a.setor, sum(case extract(month from data) when 1 then a.valor else 0 end) as Jan, sum(case extract(month from data) when 1 then a.valor*b.repassa/100 else 0 end) as RepJan, FABRICA 01;400.00;40. Preciso retornar a formatação do calculo como: 40.00, apenas duas casas decimais. Alguem tem alguma dica ? Sim. A documentação em http://www.postgresql.org/docs/9.1/interactive/functions-math.html Att, Paulo. VisualP Sistemas. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Abraços -- 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
[pgbr-geral] Conversão de Script
Senhores, coloco a seguinte dúvida... Estou precisando importar (executar) um Script no postgres 9.1 que contém os seguintes caracteres INSERT INTO ATIVIDADES VALUES(290941,'2009-03-04','A',8,'Demonstrar vis\u00e3o sist\u00eamica',29839) Esta linha é parte de um script vindo do JAVA que substitui os caracteres acentuados pelos acima. Eu não tenho acesso aos fontes do java para estudar o metodo de conversao Tentei inserir numa base UTF8 mas ele insere os caracteres literais... ou seja ele não entende como caracteres de controle Será que tem alguma forma de converter isso pelo proprio postgres ? Marcelo Silva ---___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Where em Instrução Update
olá pessoal, todos nós sabemos do estrago que uma instrução Update pode fazer sem a cláusula Where bem definida. Por isso pergunto, é possível tornar a cláusula Where obrigatório na instrução Update ? por exemplo: caso a intenção for não usar o where na instrução especificaria que não irá usar, senão apresentava o erro de cláusula where faltando UPDATE tabela SET campo = valor WITH NO WHERE abraço Stéfano ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Muitas conexões no banco
Em 14-08-2012 17:13, Thiago Lima escreveu: Boa tarde a todos, Estou com um problema aqui em meu BD (PostgreSQL 8.3.5 on amd64-portbld-freebsd7.0) Atualize para 8.3.19. Obrigatório. Tem muito bug já corrigido que você está desnecessariamente sujeito. Existem algumas aplicações de geoprocessamento que fazem uso do banco, porém o que me chamou atenção, e o que levou ao problema foram as diversas conexões abertas. Tenho o max_connections = 800. Muito alto. Qualquer PostgreSQL com esse monte de conexões vai abrir o bico, ficar lento. Considere utilizar o aglomerador de conexões eficiente, como o pgbouncer. Recebi alguns chamados de algumas aplicações com erro, e para minha surpresa ao tentar conectar via pgadmin não consegui, dizendo que o limite de conexões havia excedido. Como media emergencial reiniciei o banco, so que em uns 40 minutos já havia excedido novamente. Fiquei preocupado até achando que era algum ataque. Acessei o server status e constatei que existiam várias conexões em IDLE de um mesmo usuário para um mesmo banco. Para não impactar em outras aplicações os servidores que estavam conectando exponencialmente foram desligados. Neste momento no meu server status tenho 39 conexões, todas marcadas como IDLE, tenho por volta de 6 conexões partindo de um mesmo servidor, utilizando o mesmo usuário acessando o mesmo banco. Verifique porque essas aplicações estão mantendo conexões abertas e sem uso. Todavia, se for aplicação Java, por exemplo, pode estar usando um pool do servidor de aplicações e essas conexões idle são normais. Em pesquisa verifiquei os seguintes parametros do postgresql.conf: *tcp_keepalives_idle, tcp_keepalives_interval e tcp_keepalives_count* Porém não entendi muito bem a aplicabilidade, até cheguei a testar o tcp_keepalive_idle porém não observei nenhuma mudança. Nem haveria mesmo. Não tem nada a ver. keepalive é uma forma de manter conexões vivas no nível do protocolo TCP/IP. Conexões IDLE são conexões abertas pela aplicação e que estão simplesmente abertas e sem uso. O PostgreSQL *não* encerra essas conexões. E não há configuração para tal. Busquei nas mensagens anteriores do fórum porém não achei a solução para aplicar. 1) Arrume sua aplicação ou entenda como ela funciona; 2) Utilize um agregador de conexões; 3) URGENTE: atualize seu PostgreSQL. []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Muitas conexões no banco
Caso não exista um pool, implemente você mesmo, o pgbouncer pode lhe ser útil. http://pgfoundry.org/projects/pgbouncer/ Em 14 de agosto de 2012 17:55, Flavio Henrique Araque Gurgel fla...@4linux.com.br escreveu: Em 14-08-2012 17:13, Thiago Lima escreveu: Boa tarde a todos, Estou com um problema aqui em meu BD (PostgreSQL 8.3.5 on amd64-portbld-freebsd7.0) Atualize para 8.3.19. Obrigatório. Tem muito bug já corrigido que você está desnecessariamente sujeito. Existem algumas aplicações de geoprocessamento que fazem uso do banco, porém o que me chamou atenção, e o que levou ao problema foram as diversas conexões abertas. Tenho o max_connections = 800. Muito alto. Qualquer PostgreSQL com esse monte de conexões vai abrir o bico, ficar lento. Considere utilizar o aglomerador de conexões eficiente, como o pgbouncer. Recebi alguns chamados de algumas aplicações com erro, e para minha surpresa ao tentar conectar via pgadmin não consegui, dizendo que o limite de conexões havia excedido. Como media emergencial reiniciei o banco, so que em uns 40 minutos já havia excedido novamente. Fiquei preocupado até achando que era algum ataque. Acessei o server status e constatei que existiam várias conexões em IDLE de um mesmo usuário para um mesmo banco. Para não impactar em outras aplicações os servidores que estavam conectando exponencialmente foram desligados. Neste momento no meu server status tenho 39 conexões, todas marcadas como IDLE, tenho por volta de 6 conexões partindo de um mesmo servidor, utilizando o mesmo usuário acessando o mesmo banco. Verifique porque essas aplicações estão mantendo conexões abertas e sem uso. Todavia, se for aplicação Java, por exemplo, pode estar usando um pool do servidor de aplicações e essas conexões idle são normais. Em pesquisa verifiquei os seguintes parametros do postgresql.conf: *tcp_keepalives_idle, tcp_keepalives_interval e tcp_keepalives_count* Porém não entendi muito bem a aplicabilidade, até cheguei a testar o tcp_keepalive_idle porém não observei nenhuma mudança. Nem haveria mesmo. Não tem nada a ver. keepalive é uma forma de manter conexões vivas no nível do protocolo TCP/IP. Conexões IDLE são conexões abertas pela aplicação e que estão simplesmente abertas e sem uso. O PostgreSQL *não* encerra essas conexões. E não há configuração para tal. Busquei nas mensagens anteriores do fórum porém não achei a solução para aplicar. 1) Arrume sua aplicação ou entenda como ela funciona; 2) Utilize um agregador de conexões; 3) URGENTE: atualize seu PostgreSQL. []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br ___ 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] Where em Instrução Update
Em 14 de agosto de 2012 17:53, (:::) Stéfano Tavares Diane (:::) stefan...@yahoo.com.br escreveu: olá pessoal, todos nós sabemos do estrago que uma instrução Update pode fazer sem a cláusula Where bem definida. Por isso pergunto, é possível tornar a cláusula Where obrigatório na instrução Update ? por exemplo: caso a intenção for não usar o where na instrução especificaria que não irá usar, senão apresentava o erro de cláusula where faltando UPDATE tabela SET campo = valor WITH NO WHERE Não, mas se for uma tabela crítica faça o seguinte: 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos. 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como parâmetros a clausula WHERE 3) GRANT EXECUTE para a função que você criou. Assim você fica bem protegido. []s -- Atenciosamente, Fábio Telles Rodriguez blog: http:// http://www.midstorm.org/~telles/http://tellesr.wordpress.com 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
Re: [pgbr-geral] Where em Instrução Update
O link abaixo mostra como criar uma trigger para limitar o número de registros máximo permitido em um update. Veja se lhe atende. http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/ Em 14 de agosto de 2012 18:19, Fábio Telles Rodriguez fabio.tel...@gmail.com escreveu: Em 14 de agosto de 2012 17:53, (:::) Stéfano Tavares Diane (:::) stefan...@yahoo.com.br escreveu: olá pessoal, todos nós sabemos do estrago que uma instrução Update pode fazer sem a cláusula Where bem definida. Por isso pergunto, é possível tornar a cláusula Where obrigatório na instrução Update ? por exemplo: caso a intenção for não usar o where na instrução especificaria que não irá usar, senão apresentava o erro de cláusula where faltando UPDATE tabela SET campo = valor WITH NO WHERE Não, mas se for uma tabela crítica faça o seguinte: 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos. 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como parâmetros a clausula WHERE 3) GRANT EXECUTE para a função que você criou. Assim você fica bem protegido. []s -- Atenciosamente, Fábio Telles Rodriguez blog: http:// http://www.midstorm.org/~telles/ http://tellesr.wordpress.com 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 -- Anselmo M. Silva ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Where em Instrução Update
Só lembrando que 'UPDATE TABELA SET CAMPO = VALOR WHERE TRUE' funciona! Reavalie sua idéia. Em 14 de agosto de 2012 18:22, Anselmo Silva anselmo@gmail.comescreveu: O link abaixo mostra como criar uma trigger para limitar o número de registros máximo permitido em um update. Veja se lhe atende. http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/ Em 14 de agosto de 2012 18:19, Fábio Telles Rodriguez fabio.tel...@gmail.com escreveu: Em 14 de agosto de 2012 17:53, (:::) Stéfano Tavares Diane (:::) stefan...@yahoo.com.br escreveu: olá pessoal, todos nós sabemos do estrago que uma instrução Update pode fazer sem a cláusula Where bem definida. Por isso pergunto, é possível tornar a cláusula Where obrigatório na instrução Update ? por exemplo: caso a intenção for não usar o where na instrução especificaria que não irá usar, senão apresentava o erro de cláusula where faltando UPDATE tabela SET campo = valor WITH NO WHERE Não, mas se for uma tabela crítica faça o seguinte: 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos. 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como parâmetros a clausula WHERE 3) GRANT EXECUTE para a função que você criou. Assim você fica bem protegido. []s -- Atenciosamente, Fábio Telles Rodriguez blog: http:// http://www.midstorm.org/~telles/ http://tellesr.wordpress.com 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 -- Anselmo M. Silva -- Anselmo M. Silva ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] REF. Formatar Casa Decimal.
Em 14/08/12, pa...@visualpsistemas.com.brpa...@visualpsistemas.com.br escreveu: Obrigado a todos que responderam. Valeu JotaComm, consegui com round(v numeric, s int). Abraços. Paulo. - Original Message - From: JotaComm To: Comunidade PostgreSQL Brasileira Sent: Tuesday, August 14, 2012 5:01 PM Subject: Re: [pgbr-geral] REF. Formatar Casa Decimal. Opa, 2012/8/14 pa...@visualpsistemas.com.br Ola Pessoal, Tenho o meu Select abaixo: select a.setor, sum(case extract(month from data) when 1 then a.valor else 0 end) as Jan, sum(case extract(month from data) when 1 then a.valor*b.repassa/100 else 0 end) as RepJan, FABRICA 01;400.00;40. Preciso retornar a formatação do calculo como: 40.00, apenas duas casas decimais. Alguem tem alguma dica ? Sim. A documentação em http://www.postgresql.org/docs/9.1/interactive/functions-math.html Apenas para complementar: O PostgreSQL tem a função to_char que é específica para formatar diversos tipos de dados em uma string no padrão desejado pelo usuário. http://www.postgresql.org/docs/current/interactive/functions-formatting.html bdteste=# SELECT to_char(1234.5, '99G999D99'); to_char 1.234,50 (1 row) 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] Conversão de Script
Em 14 de agosto de 2012 17:28, Marcelo Silva marc...@ig.com.br escreveu: Senhores, coloco a seguinte dúvida... Estou precisando importar (executar) um Script no postgres 9.1 que contém os seguintes caracteres INSERT INTO ATIVIDADES VALUES(290941,'2009-03-04','A',8,'Demonstrar vis\u00e3o sist\u00eamica',29839) Esta linha é parte de um script vindo do JAVA que substitui os caracteres acentuados pelos acima. Eu não tenho acesso aos fontes do java para estudar o metodo de conversao Tentei inserir numa base UTF8 mas ele insere os caracteres literais... ou seja ele não entende como caracteres de controle Será que tem alguma forma de converter isso pelo proprio postgres ? Tente ajustar o parâmetro *standard_conforming_strings* para *OFF*. Vide: http://www.postgresql.org/docs/9.1/static/runtime-config-compatible.html -- Atenciosamente, Fábio Telles Rodriguez blog: http:// http://www.midstorm.org/~telles/http://tellesr.wordpress.com 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] Fwd: Curso Online de PostGIS
Pediram para eu encaminhar para a lista. Parece interessante. []s --- X --- Bom dia, A GEOCURSOS informa que estão abertas as inscrições para o Curso Online de PostGIS http://postgis.refractions.net/, seu mais novo curso, ministrado pelo instrutor George R. C. Silva, colaborador do projeto e referência no assunto. O curso permitirá aos alunos rapidamente se familiarizarem com o PostGIS, tanto como usuários como também administradores de banco de dados, pois vão aprender a instalar e configurar o PostgreSQL/PostGIS, importar informações geográficas, assim como usar as funções espaciais do PostGIS. O curso acontecerá entre os dias 15 de setembro e 06 de outubro, sempre aos sábados das 09:00 as 12:00 e das 13:00 as 18:00. Para saber mais informação basta acessar o site da GEOCURSOS http://www.geocursos.com.br/. -- Att, GEOCURSOS http://www.geocursos.com.br http://twitter.com/geo_cursos http://www.facebook.com/geocursosbr ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Where em Instrução Update
são boas idéias , não chega ser tabelas tão criticas,só queria previnir acidentes valeu [ ]s Stéfano Em 14/08/2012 18:22, pgbr-geral-requ...@listas.postgresql.org.br escreveu: Send pgbr-geral mailing list submissions to pgbr-geral@listas.postgresql.org.br - Message: 5 Date: Tue, 14 Aug 2012 18:19:33 -0300 From: Fábio Telles Rodriguez fabio.tel...@gmail.com Subject: Re: [pgbr-geral] Where em Instrução Update To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: caay+2jyc_gve89wuvqg_ub3mfdpexmkf2xcqox6z51acbk1...@mail.gmail.com Content-Type: text/plain; charset=utf-8 Em 14 de agosto de 2012 17:53, (:::) Stéfano Tavares Diane (:::) stefan...@yahoo.com.br escreveu: olá pessoal, todos nós sabemos do estrago que uma instrução Update pode fazer sem a cláusula Where bem definida. Por isso pergunto, é possível tornar a cláusula Where obrigatório na instrução Update ? por exemplo: caso a intenção for não usar o where na instrução especificaria que não irá usar, senão apresentava o erro de cláusula where faltando UPDATE tabela SET campo = valor WITH NO WHERE Não, mas se for uma tabela crítica faça o seguinte: 1) REVOKE UPDATE para a tabela e para o(s) usuários envolvidos. 2) Crie uma função que faça o UPDATE e que obrigatoriamente receba como parâmetros a clausula WHERE 3) GRANT EXECUTE para a função que você criou. Assim você fica bem protegido. []s Message: 6 Date: Tue, 14 Aug 2012 18:22:07 -0300 From: Anselmo Silvaanselmo@gmail.com Subject: Re: [pgbr-geral] Where em Instrução Update To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: cafe0_fvoaokjmn2gkw90pskmav1yvgsthxu0lu3yxna-ztd...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 O link abaixo mostra como criar uma trigger para limitar o número de registros máximo permitido em um update. Veja se lhe atende. http://simononsoftware.com/how-to-allow-for-max-4-rows-in-update-postgresql/ ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral