Re: [pgbr-geral] Instalação do Postgres 9.1 no Debian Squeeze

2012-08-14 Por tôpico Targino Silveira
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

2012-08-14 Por tôpico Arrobba Sistemas
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

2012-08-14 Por tôpico Francisco Adriano Flores
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

2012-08-14 Por tôpico Tiago Adami
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

2012-08-14 Por tôpico Matheus de Oliveira
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

2012-08-14 Por tôpico Marcelo Silva
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

2012-08-14 Por tôpico Hélio Oliveira
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

2012-08-14 Por tôpico Albino B Neto
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

2012-08-14 Por tôpico Hélio Oliveira
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

2012-08-14 Por tôpico Anselmo Silva
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-08-14 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
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

2012-08-14 Por tôpico Marcos Aurelio Nobre
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

2012-08-14 Por tôpico Marcos Aurelio Nobre
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-08-14 Por tôpico Matheus de Oliveira
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.

2012-08-14 Por tôpico paulo
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.

2012-08-14 Por tôpico Hélio Oliveira
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.

2012-08-14 Por tôpico JotaComm
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

2012-08-14 Por tôpico Marcos Aurelio Nobre
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

2012-08-14 Por tôpico Thiago Lima
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.

2012-08-14 Por tôpico paulo
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

2012-08-14 Por tôpico Marcelo Silva
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

2012-08-14 Por tôpico (:::) Stéfano Tavares Diane (:::)
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

2012-08-14 Por tôpico Flavio Henrique Araque Gurgel

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

2012-08-14 Por tôpico Tiago Valério
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

2012-08-14 Por tôpico Fábio Telles Rodriguez
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

2012-08-14 Por tôpico Anselmo Silva
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

2012-08-14 Por tôpico Anselmo Silva
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.

2012-08-14 Por tôpico Osvaldo Kussama
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

2012-08-14 Por tôpico Fábio Telles Rodriguez
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

2012-08-14 Por tôpico Fábio Telles Rodriguez
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

2012-08-14 Por tôpico (:::) Stéfano Tavares Diane (:::)
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