Re: [pgbr-geral] Constraint entre colunas tipo varchar de tamanhos diferentes postgres 9.5

2017-01-25 Por tôpico Irineu Raymundo

Obrigado pelo esclarecimento, vou ter que ajustar isso mesmo.

Esse modelo tem 11 anos, foi feito no postgres 8.3 e na época eu não 
tinha noção nenhuma do que estava fazendo.


Até  a versão 9.0, embora a modelagem fosse falha o postgres não se 
importava com isso e funcionava normalmente.


Acredito que tenha sido uma correção na versão 9.5 .


Em 24/01/2017 18:21, Euler Taveira escreveu:

On 24-01-2017 16:43, Irineu Raymundo wrote:

Migrei do postgres 9.0 para o 9.5  e algumas contraints que
referenciavam colunas do tipo varchar de tamanhos diferentes não aceitam
mais o valor.


Isso não tem haver com a migração. A sua modelagem está falha. Não se
usa tipos (e seus tamanhos, se tiver) diferentes em chaves (a não ser
que saiba o que está fazendo).


Há alguma coisa q possa ser feita além de dropar as visões, rules destas
tabelas e modificar os types dos campos?


A correção é alterar o tipo de uma das tabelas para que eles voltem a
ficar iguais novamente. Isso pode envolver corrigir outras partes do modelo.


ERROR:  value too long for type character varying(7)
CONTEXT:  SQL statement "UPDATE ONLY "com_02_01_07_a1_a1" SET
"cod_material" = $1 WHERE $2::pg_catalog.text OPERATOR(pg_catalog.=)
"cod_material"::pg_catalog.text"


Esse erro é consequência de uma atualização em ind_01_08.codigo com uma
string maior do que 7 caracteres.




___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Constraint entre colunas tipo varchar de tamanhos diferentes postgres 9.5

2017-01-24 Por tôpico Irineu Raymundo

Olá prezados,

Migrei do postgres 9.0 para o 9.5  e algumas contraints que 
referenciavam colunas do tipo varchar de tamanhos diferentes não aceitam 
mais o valor.


Há alguma coisa q possa ser feita além de dropar as visões, rules destas 
tabelas e modificar os types dos campos?


Qualquer ajuda é bem vinda.

Agradecido.

Irineu Raymundo


Exemplo:

ERROR:  value too long for type character varying(7)
CONTEXT:  SQL statement "UPDATE ONLY "com_02_01_07_a1_a1" SET 
"cod_material" = $1 WHERE $2::pg_catalog.text OPERATOR(pg_catalog.=) 
"cod_material"::pg_catalog.text"


CREATE TABLE ind_01_08
( codigo character varying(19) NOT NULL,
  nome character varying(250) NOT NULL,
  CONSTRAINT ind_01_08_pkey PRIMARY KEY (codigo)
);

CREATE TABLE com_02_01_07_a1_a1
(
  cod_cor integer,
  grid_linha integer,
  cod_material character varying(7),
  cod_comb integer,
  CONSTRAINT com_02_01_07_a1_a1_pkey PRIMARY KEY (cod_comb,cod_material),
  CONSTRAINT com_02_01_07_a1_a1_cod_material_fkey FOREIGN KEY 
(cod_material)

  REFERENCES ind_01_08 (codigo) MATCH SIMPLE
  ON UPDATE CASCADE ON DELETE NO ACTION
);







___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Lentidão no Postgres 9.5

2016-09-12 Por tôpico Irineu Raymundo

Em 08/09/2016 17:01, Fabrízio de Royes Mello escreveu:

On 08-09-2016 09:43, Irineu Raymundo wrote:

Bom dia pessoal,

Estou com um problema de lentidão numa rotina...
Essa tabela fica com mais ou menos 2 milhões de registros, e tem uns 11
índices.

Segue abaixo a rotina:

TRUNCATE senda.ind_03_03_04_01_lev CASCADE;
TRUNCATE senda.ind_03_03_04_01_01_lev CASCADE;
TRUNCATE senda.ind_03_03_04_01_01_a1_lev;
REINDEX TABLE senda.ind_03_03_04_01_lev;

Porque o REINDEX em uma tabela que vc recém efetuou um TRUNCATE? O
TRUNCATE recria todos datafiles envolvidos (heap e btree).



VACUUM FULL ANALYZE senda.ind_03_03_04_01_01_lev;
VACUUM FULL ANALYZE senda.ind_03_03_04_01_01_a1_lev;
VACUUM FULL ANALYZE senda.ind_03_03_04_01_lev;
VACUUM FULL ANALYZE senda.ind_03_03_03_02_oc;

Aqui vc efetua um VACUUM FULL novamente e talvez sem necessidade,
principalmente pelo fato da "senda.ind_03_03_04_01_lev" ter sido
truncada anteriormente. Será que as demais tabelas não são truncadas
junto com as anteriores devido ao "CASCADE"???



SET temp_buffers=3;

Setando dessa forma vc está informando ao PostgreSQL para usar ~234,38MB
= (3*8kB)/1024.


SELECT senda.ins_mat_lev_cria_indices();
SELECT senda.ins_mat_lev_1('98');
SELECT senda.ins_mat_lev_2('98');
SELECT senda.ins_mat_lev_3('98');
SELECT senda.ins_mat_lev_4('98');
SELECT senda.mat_marca_cliente_lev('98','LEVMAT',NULL,1256);


Dificil te ajudar sem saber exatamente o que essas PLs fazem.



Até esse ponto vai tranquilo, coisa de 5 minutos,  a próxima função
descarrega os registros( 2 milhões) das temporáriad para as tabelas
UNLOGGED e aí que trava de vez em quando.


Precisamos de mais detalhes para poder ajudar!

Att,



Antes de mandar os códigos-fonte das Pls(que são enormes) resolvi 
revisar toda a rotina levando em conta os comentários do Fabrízio.
Tirei o REINDEX  depois do CASCADE, diminui o valor do temp_buffer da 
sessão e a rotina estabilizou, não trava mais.


Obrigado  pela ajuda!!!

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Lentidão no Postgres 9.5

2016-09-08 Por tôpico Irineu Raymundo

Bom dia pessoal,

Estou com um problema de lentidão numa rotina, se alguém puder me dar 
uma luz do que eu poderia investigar fico imensamente agradecido.


O banco é : "PostgreSQL 9.5.4 on x86_64-pc-linux-gnu, compiled by gcc 
(Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609, 64-bit"


A trava aparentemente de forma aleatória, executa 2 dias normalmente e 
parece que do nada trava na última função e fica mais de 4 horas sendo 
obrigado a derrubar.


Conferi quando trava e não tem nenhuma outra instrução que poderia faz 
um lock nas tabelas.


Basicamente ela cria tabelas temporárias, faz os cálculos necessários e 
escreve numa tabela não logada(UNLOGGED) para poder imprimir o relatório 
via ODBC.
Essa tabela fica com mais ou menos 2 milhões de registros, e tem uns 11 
índices.


Segue abaixo a rotina:

TRUNCATE senda.ind_03_03_04_01_lev CASCADE;
TRUNCATE senda.ind_03_03_04_01_01_lev CASCADE;
TRUNCATE senda.ind_03_03_04_01_01_a1_lev;
REINDEX TABLE senda.ind_03_03_04_01_lev;
VACUUM FULL ANALYZE senda.ind_03_03_04_01_01_lev;
VACUUM FULL ANALYZE senda.ind_03_03_04_01_01_a1_lev;
VACUUM FULL ANALYZE senda.ind_03_03_04_01_lev;
VACUUM FULL ANALYZE senda.ind_03_03_03_02_oc;
SET temp_buffers=3;
SELECT senda.ins_mat_lev_cria_indices();
SELECT senda.ins_mat_lev_1('98');
SELECT senda.ins_mat_lev_2('98');
SELECT senda.ins_mat_lev_3('98');
SELECT senda.ins_mat_lev_4('98');
SELECT senda.mat_marca_cliente_lev('98','LEVMAT',NULL,1256);

Até esse ponto vai tranquilo, coisa de 5 minutos,  a próxima função 
descarrega os registros( 2 milhões) das temporáriad para as tabelas 
UNLOGGED e aí que trava de vez em quando.



Irineu Raymundo

Senda engenharia de Dados.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Problema com aggregate no Postgres 9.5

2016-06-07 Por tôpico Irineu Raymundo

Em 07/06/2016 18:03, Fabrízio de Royes Mello escreveu:

On 07-06-2016 17:04, Irineu Raymundo wrote:

Pessoal boa tarde,

Estou faznedo alguns teste visando a migração do PostGres 9.0 para 9.5 .

No 9.0 havia 1 aggregate: array_agg(anyelement), mas no 9.5 tem 2:
array_agg(anyarray)  e array_agg(anynonarray).

Ao executar um SELECT pela aplicação está apresentando a seguinte mensagem:

"SQL Error: ERROR:  function array_agg(character varying) is not unique
at character 1657
HINT:  Could not choose a best candidate function. You might need to add
explicit type casts."

Alguém já passou por isso? Existe alguma forma de contornar sem ter que
reescrever o SQL?


Irineu,

Vc tem certeza que não tem nenhum "custom aggregate" na sua base de dados??

No psql digite "\da array_agg" e cole o que mostra.

Att,



Fabrízio ,

Bah!  Tinha mesmo um aggregate "customizado" com o nome igual na base, 
no 9.0 tava rodando sem problemas.

Dropei o infeliz, reiniciei o banco e funcionou.

Valeu mesmo.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Problema com aggregate no Postgres 9.5

2016-06-07 Por tôpico Irineu Raymundo

Pessoal boa tarde,

Estou faznedo alguns teste visando a migração do PostGres 9.0 para 9.5 .

No 9.0 havia 1 aggregate: array_agg(anyelement), mas no 9.5 tem 2: 
array_agg(anyarray)  e array_agg(anynonarray).


Ao executar um SELECT pela aplicação está apresentando a seguinte mensagem:

"SQL Error: ERROR:  function array_agg(character varying) is not unique 
at character 1657
HINT:  Could not choose a best candidate function. You might need to add 
explicit type casts."


Alguém já passou por isso? Existe alguma forma de contornar sem ter que 
reescrever o SQL?



Irineu Raymundo.





___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] Estrutura do Postgres orientado a objetos

2015-04-28 Por tôpico Irineu

Senhores,

Estou modelando o banco de dados(Postgres off course)  de uma aplicação 
em java web para loja.

Fiz uns testes criando types para os objetos como segue exemplo abaixo.

CREATE TYPE cliente AS
   (nome character varying(250),
cnpj_cpf character varying(20),
email character varying(250);

CREATE TABLE tb_cliente
(id SERIAL PRIMARY KEY NOT NULL,
 cliente CLIENTE);

A estimativa de crescimento do banco é atingir no máximo 20GB.

Dentro desse cenário posso ter problemas de desempenho  ou seria melhor 
modelar da forma tradicional ?


Obrigado desde já pela ajuda.



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Estrutura do Postgres orientado a objetos

2015-04-28 Por tôpico Irineu

ou seria melhor modelar da forma tradicional ?

A menos que você tenha ganhos na aplicação, ou reusará ‘cliente’
noutras relações (tabelas), seria melhor modelar sem o TYPE porque ele
acaba complicando o modelo, tornando-o mais opaco principalmente para
quem não participou da modelagem.  Mesmo você, se a aplicação alcançar
alguma estabilidade a ponto de não precisares te preocupar dela por
uns meses, verá depois de um ano ou algo assim que não ficou tão
transparente quanto poderia.

Lembre-se que se continua falando do PostgreSQL como
‘objeto-relacional’ mais por uma questão de publicidade; o que no
PostgreSQL (ou em qualquer SGBD) realmente facilita orientação a
objeto é a riqueza de tipos e a conformidade ao modelo relacional, não
exatamente TYPEs ou herança.




Obrigado por suas observações, como sempre foram muito esclarecedoras.

Pensando nelas , embora pareceu interessante modelar criando types isso 
pode me causar um certo desconforto no futuro,
ainda mais que a documentação que tenho para o desenvolvimento não é lá 
essas coisas e pode me apresentar muitas surpresas.


Abraço,
Irineu.



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Trigger Before Update

2014-03-04 Por tôpico Irineu

Bom dia , estamos com o seguinte problema :
Ao fazer um update es_movto_estoque set quantidade=100 where id=1000 
, o retorno é :

Query returned successfully: 0 rows affected, 41 ms execution time.
Nessa tabela temos as 3 trigger abaixo , se eu excluir a trigger 
tr_bu_ret_ctrlnf o update funciona , alguem poderia me dizer o porque ??


vc tem um RETURN NULL  na trigger  tr_bu_ret_ctrlnf q é disparada no 
BEFORE UPDATE, isso faz o banco ignorar as alterações no registro.


--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Postgre embarcado? é Possivel?

2014-01-30 Por tôpico Irineu

Em 30/01/2014 09:03, Rodrigo escreveu:


Bom dia Pessoal!

Tem como usar o postgres embarcado numa aplicação java? Pelo menos que 
o instalador já instale o .jar e o banco?


Rodrigo



___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Se for uma aplicação desktop, com poucos acessos e quantidades de dados 
pequena o SQLite é uma boa alternativa.
SQLite uma biblioteca em linguagem 
Chttp://pt.wikipedia.org/wiki/C_%28linguagem_de_programa%C3%A7%C3%A3o%29 
que implementa um banco de dados SQLhttp://pt.wikipedia.org/wiki/SQL 
embutido.

Tenho usado em aplicações menores e tem dado conta do recado.

Sds,

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Violação de chave de unicidade sem valor duplicado

2013-04-04 Por tôpico Irineu

   ...

   IF EXISTS(SELECT a.id FROM senda.ind_03_03_02_02_a1 a WHERE
a.id_movimento = NEW.id_movimento) THEN
 RETURN NULL;
END IF; ...

Continou a disparar a contraint.


Poderia passar toda a sua função?
Provavelmente você deveria colocar o código de INSERT após um ELSE, 
mas como tem um END IF aí não dá pra saber o que o resto de sua função 
faz.


Salve Flávio,

A trigger segue abaixo, na verdade ela está na própria 
tabela(ind_03_03_02_02_a1) do INSERT.


Abraço.


REATE OR REPLACE FUNCTION senda.movimentos_baixa()
  RETURNS trigger AS
$BODY$
DECLARE
  vGravarFabrica BOOLEAN DEFAULT EXISTS(SELECT valor FROM 
senda.ind_03_03_01_01 WHERE parametro = 'informa_fabrica_baixa' AND 
valor = 'sim');

  BEGIN

   IF TG_RELNAME = 'ind_03_03_02_02_a1' THEN

IF EXISTS(SELECT a.id FROM senda.ind_03_03_02_02_a1 a WHERE 
a.id_movimento = NEW.id_movimento) THEN

 RETURN NULL;
END IF;

NEW.remessa   := (SELECT remessa FROM senda.ind_03_03_02_02 WHERE 
id = NEW.id_movimento);
NEW.cod_op:= (SELECT cod_op  FROM senda.ind_03_03_02_02 WHERE 
id = NEW.id_movimento);
IF (NEW.cod_celula IS NOT NULL) AND EXISTS(SELECT cod_segmento FROM 
senda.cad_01_02 WHERE cod_segmento = 2) THEN
 NEW.cod_turno:=  (SELECT a.codigo FROM senda.ind_03_01_06 a WHERE 
a.desabil  'T'
   AND CASE WHEN a.hora_inicial  a.hora_final THEN 
(a.hora_inicial = CURRENT_TIME AND a.hora_final = CURRENT_TIME)
   ELSE ((CURRENT_TIME BETWEEN a.hora_inicial 
AND CAST('23:59' AS TIME) AND a.hora_inicial = CURRENT_TIME) OR
 (CURRENT_TIME BETWEEN CAST('00:00' AS 
TIME) AND a.hora_final AND a.hora_final = CURRENT_TIME))

   END LIMIT 1);
END IF;

   ELSEIF TG_RELNAME = 'ind_03_03_02_02_a2' THEN
NEW.remessa := (SELECT remessa FROM senda.ind_03_03_02_02 WHERE id 
= NEW.id_mov);
NEW.cod_op  := (SELECT cod_op  FROM senda.ind_03_03_02_02 WHERE id 
= NEW.id_mov);

   END IF;

  IF vGravarFabrica THEN
NEW.cod_fabrica:=COALESCE(NEW.cod_fabrica,(SELECT a.cod_fabrica 
FROM senda.ind_03_03_01_03 a WHERE a.codigo =  NEW.remessa));

  ELSE
NEW.cod_fabrica:=(SELECT a.cod_fabrica FROM senda.ind_03_03_01_03 a 
WHERE a.codigo =  NEW.remessa);

  END IF;

  RETURN NEW;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE;



--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Violação de chave de unicidade sem valor duplicado

2013-04-04 Por tôpico Irineu

Em 04/04/2013 11:19, Flavio Henrique Araque Gurgel escreveu:


Talvez você esteja com uma questão de concorrência. Verifique se o 
erro realmente aconteceu na tabela ind_03_03_02_02_a1 e certifique-se 
disso.


Pergunto: ao inserir, de onde você retira o valor id_movimento (que me 
parece ser a sua PK ou pelo menos índice único)?


Eu faria um teste, colocando dentro do IF que testa a existência um:
RAISE EXCEPTION
Pra logar o que realmente está acontecendo.
Você pode colocar RAISE EXCEPTION ou RAISE NOTICE em vários pontos da 
sua função pra tentar debugar.


O que pode haver é uma transação concorrente comitar o valor antes da 
sua função terminar, porém após o teste. Isso é possível em caso de 
isolamento READ COMMITTED.

Flávio, é uma UNIQUE.
Acho que resolvestes a charada, devers er o isolamento READ COMMITTED.
Vou seguir tua sugestão, vou logar para ver o que tá ocorrendo.

Muito obrigado.


--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Violação de chave de unicidade sem valor duplicado

2013-04-04 Por tôpico Irineu

Em 04/04/2013 11:22, Jefferson Rosario escreveu:


Nao desejo receber mensagens

Em 04/04/2013 11:19, Flavio Henrique Araque Gurgel 
fla...@4linux.com.br mailto:fla...@4linux.com.br escreveu:



Em 04-04-2013 09:52, Irineu escreveu:  


Saindo da lista acho que vc não vai mais receber nenhuma msg dela.

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Imagem no delphi

2012-09-27 Por tôpico Irineu

Em 27/09/2012 13:58, Éverton Bueno Lima escreveu:


Ola pessoal,

Eu criei um tipo bytea para poder salvar a imagem no meu banco de 
dados so que não estou conseguindo salvar pelo Delphi alguém já fez 
esse procedimento de salvar uma  imagem no postgres pelo Delphi, estou 
utilizando conexão adoquery.





uso no Delphi XE:

Query.Open;
Query.Append;
TBlobField(Query.arquivo).LoadFromFile(c:\som.mp3); //qualquer arquivo 
binário

Query.FieldByName('nome_arquivo').AsString:= 'som.mp3';
Query.Post;

Guardo vários tipos de arquivos  doc,txt,bpl,xml,mp3 e o que vier.

Uso pacote Zeus para conexão com Postgres e tipo de campo bytea no banco.


--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Blob ou ByteA (qual usar)

2012-09-18 Por tôpico Irineu
Em 18/09/2012 08:55, Hélio Oliveira escreveu:
 Bom dia Colegas!

 Estou iniciando com PostreSQL e como anteriormente trabalha com Firebird
 sempre surge algumas duvidas.

 No Fire temos o Blob sub-type 0 (para armazenar fotos...) e o sub-type 1
 (para armazenar texto).

 No PostgreSQL temos os tipos Blob e ByteA qual usar e em que situação?


Para binarios fotos e afins ByteA, se for texto text;

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
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 função

2012-09-18 Por tôpico Irineu
Em 18/09/2012 15:26, Stclara escreveu:
 Salve, pessoal. Estou precisando desenvolver uma função para retornar
 saldo e comecei desta maneira, mas não retorna dados:

 Criei um type:
 CREATE TYPE saldo_caixa AS (
 debito numeric(18,2)
);

 A função:
 CREATE OR REPLACE FUNCTION saldocaixa() RETURNS SETOF saldo_caixa AS
 $body$
 DECLARE
 debito_atual NUMERIC(18,2);
 linha saldo_caixa;
 begin
 SELECT INTO debito_atual SUM(value_cash) FROM cashes WHERE
 (type_cash= 'D');
 linha.debito = debito_atual;
 RETURN;
 END
 $body$
 LANGUAGE 'plpgsql';



uma outra possibilidade:

CREATE OR REPLACE FUNCTION saldocaixa()
  RETURNS SETOF saldo_caixa AS
$body$
DECLARE
debito_atual NUMERIC(18,2);
linha saldo_caixa;
begin
  RETURN Query SELECT SUM(value_cash)::NUMERIC(18,2) FROM cashes WHERE 
(type_cash= 'D');
END
$body$
LANGUAGE 'plpgsql';



-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Função para validar email no postgres

2012-06-05 Por tôpico Irineu

Em 05/06/2012 11:39, Marcelo Silva (IG) escreveu:

Pessoal, eu uso essa função para validar email no delphi:
class function TSendMail.fValidarEmail(aStr: string): Boolean;
begin
aStr := Trim(UpperCase(aStr));
if Pos('@', aStr)  1 then begin
   Delete(aStr, 1, pos('@', aStr));
   Result := (Length(aStr)  0) and (Pos('.', aStr)  2);
end else
   Result := False;
end;
Ainda não tenho conhecimentos a ponto de portar essa função para o 
postgres

Alguém teria uam função pra validar email no postgres?
Gostaria de usa-la assim:
select * from tabela
where (fValidaEmail(email) = True) // ou 'True' ?
Procurei na web mas não achei algo desse tipo


SELECT REPLACE('iri...@senda.inf.br','_','') SIMILAR TO 
'[a-zA-Z][[:alnum:]_.-]*@[a-zA-Z][[:alnum:]_.-]*[.][a-zA-Z]+';


--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Função para validar email no postgres

2012-06-05 Por tôpico Irineu
Em 05/06/2012 12:47, Guimarães Faria Corcete DUTRA, Leandro escreveu:
 2012/6/5 Irineuiri...@senda.inf.br:
 SELECT REPLACE('iri...@senda.inf.br','_','') SIMILAR TO
 '[a-zA-Z][[:alnum:]_.-]*@[a-zA-Z][[:alnum:]_.-]*[.][a-zA-Z]+';
 Não reinvente a roda.  Essa expressão está incompleta.

 Use uma biblioteca como as do Perl.

 Há um bom exemplo na palestra do David Fetter sobre PL/Perl, que eu
 reaproveitei nalgumas palestras minhas.

obrigado pela sugestão, nunca usei nada de PL/Perl, mas vou pesquisar.

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Caracteres malditos :)

2012-05-30 Por tôpico Irineu

  
  
Em 30/05/2012 17:04, Marcelo Silva (IG) escreveu:

  

  Copiem e colem esses dois caracteres no bloco de notas e
veja se tem diferena
  
   (no confundam com _ underline)
  -
  
  Pois ... no parece mas  o primeiro caractere  
um chr(150) muito usado no word
  j o -  o hifem to conhecido chr(45)
  
  Pois bm, no banco de dados UTF8 entra normalmente, mas
na hora de ler com Latin1 d um xabu...
  Diz que no existe verso do  para Latin1... ou seja
ferra tudo.
  
  Questo:
  
  Como tratar esses mseros caracteres para que no de erro
no Latin1 ?
  
  Esse erro pode ocorrer por exemplo, quando o usurio
copia um texto do word e cola num campo (php ou delphi)
  
  
  * J no basta ter que programar, ainda temos que ser
bidu 
  
  
  

  


Experimente no componente TZconnection colocar no properties:
 codepage=UTF8
 client_encoding=UTF8

Com o Postgres 'UTF8' e client_encouding 'LATIN1' .

Tive problemas com esses "caracteres malditos" e consegui resolver
desse jeito, no achei outra forma.

    
-- 
Irineu Raymundo
Programador/Consultor Tcnico
Senda Engenharia de Dados Ltda.
  

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Delphi 7 + PostgreSQL 64bits

2012-05-29 Por tôpico Irineu

Em 29/05/2012 17:15, Fábio Gibon - Comex System escreveu:

Pessoal,
 alguém ai trabalha com delphi 7 acessando o postgresql em 
64bits (versão 9.0 em diante)? (preciso trocar algumas ideias)

abraços

Fábio Henrique Gibon


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


ERP em Delphi 2007 + Zeus + postgresql 9.0

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] como salvar usuario em log com trigger

2012-05-24 Por tôpico Irineu

Em 23/05/2012 23:59, Fabrízio de Royes Mello escreveu:



Em 23 de maio de 2012 17:58, Irineu iri...@senda.inf.br 
mailto:iri...@senda.inf.br escreveu:



[...]

Já tá no ar a 3 anos e nunca tive problemas, o unico cudado: após
algum
tempo o procpid se repete,
então tem q apagar a acesso mais antigo com o mesmo codigo.


Vc pode usar a extensão [1] e não terá esse tipo de problema.

[1] http://pgxn.org/dist/session_variables/0.0.3/



valeu a dica, vou olhar com muita atenção para implementar.

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] CASE ELSE

2012-05-23 Por tôpico Irineu

Em 21/05/2012 18:56, Giovanni Sousa escreveu:

select A.COD_ABA, A.LABEL_ABA,
CASE WHEN
 COALESCE (A.cod_fun, 0)=0  THEN 'NÃO_MONITORADO'
*--ELSE (RETORNAR O VALOR DO CAMPO)
* END
 from tb_abas A

outra possibilidade:

SELECT a.cod_aba,a.label_aba,
COALESCE(CAST(NULLIF(a.cod_fun,0) AS VARCHAR),'NÃO_MONITORADO')
 FROM tb_abas a;

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] como salvar usuario em log com trigger

2012-05-23 Por tôpico Irineu
Em 11/05/2012 15:30, Alessandro Lima escreveu:
 Tenho um aplicação web java + jdbc + postgresql 8.4
 Criei uma trigger para registrar log de qualquer alteração em certa 
 tabela.
 Mas não encontrei uma forma registrar o usuario neste log, pois o 
 usuario da aplicação é diferente do usuario do banco de dados,
 alias todos os usuarios da aplicação utilizam o mesmo usuario do postgres.

 Existe alguma forma de passar o usuario como parametro junto com 
 INSERT, UPDATE, DELETE?
 Estou utilizando uma gambiarra, adicionando o codigo do usuario no 
 final do sql na forma de comentario, exemplo: delete from tabela 
 where codigo = 1 --usuario:2

Prezado Alessandro,

Tive o mesmo problema, todos os usuários acessando o banco com o mesmo 
usuário do banco.

Depois de me bater muito atras de uma solução resolvi fazer uma tabela q 
no log da aplicação insere um registro com o nome do usuário na 
aplicação e o ID do processo:

CREATE TABLE senda.sis_01_08_a6
(
   procpid integer,
   usuario_banco character varying(60) DEFAULT current_user(),
   tp_acesso integer,
   usuario character varying(60) DEFAULT current_user(),
   dt_inicio timestamp without time zone DEFAULT now(),
   dt_fim timestamp without time zone DEFAULT now(),
   id serial NOT NULL,
   versao_app character varying(60) DEFAULT '0022011'::character varying,
   CONSTRAINT sis_01_08_a6_id_pkey PRIMARY KEY (id)
);

aí criei uma função q recupera o usuário pelo PID:

CREATE OR REPLACE FUNCTION senda.current_user_pid()
   RETURNS character varying AS
$BODY$
   SELECT COALESCE((SELECT usuario FROM senda.sis_01_08_a6
   WHERE procpid  = pg_backend_pid() ORDER BY id DESC LIMIT 
1),CAST(CURRENT_USER AS VARCHAR));
$BODY$
   LANGUAGE sql VOLATILE;

Coloquei como default do campo usuario.

Já tá no ar a 3 anos e nunca tive problemas, o unico cudado: após algum 
tempo o procpid se repete,
então tem q apagar a acesso mais antigo com o mesmo codigo.

Espero ter ajudado em alguma coisa.

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] case com alter table

2012-04-18 Por tôpico Irineu
Em 17/04/2012 06:12, Pedro Costa escreveu:
 Pessoal,

 É possível usar o case com um alter table?

 Tipo assim:

 alter table rua

 case n_rua exists (SELECT attname FROM pg_attribute WHERE attrelid =
 (SELECT oid FROM pg_class WHERE relname = 'ruas') AND attname = 'n_rua')

 then add column largura double precision,add column tipologia text,add
 column declive double precision

 else alter table ruas add column n_rua integer,



poderias usar o comando SQL dentro de uma função usando EXECUTE :

  EXECUTE 'ALTER TABLE ruas'
  CASE WHEN EXISTS (SELECT attname FROM pg_attribute WHERE attrelid =
   (SELECT oid FROM pg_class WHERE relname = 'ruas') AND 
attname = 'n_rua')
  THEN ' ADD column largura double precision;'
  ELSE ' ADD column n_rua integer;' END;



-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] percentagens

2012-04-03 Por tôpico Irineu
Em 03/04/2012 07:25, Pedro Costa escreveu:
 Pessoal este update retorna apenas números inteiros apesar de o campo
 percentagem ser double precision:


 update estacionamento
 set percentagem = ((select count (n_passeio) from passeios where
 estacionamt =4)*100)/(select count(n_passeio)from passeios)
 where classe like '4';


tente o seguinte:
update estacionamento set percentagem = ((select count (n_passeio) from 
passeios where estacionamt =4)::numeric*100)/(select 
count(n_passeio)from passeios)::numeric where classe like '4';

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] percentagens

2012-04-03 Por tôpico Irineu
Em 03/04/2012 08:13, Matheus de Oliveira escreveu:
 O que o Irineu passou está correto (acho), mas só para explicar, o 
 PostgreSQL assim como C/C++ assumem que o operador de divisão quando 
 feito para dois inteiros deve retornar um inteiro. Logo, caso queira 
 decimal você deve converter pelo menos um dos elementos para decimal.

 Att.
 --
 Matheus de Oliveira

Isso mesmo, o comando 0::numeric é o mesmo que CAST(0 AS NUMERIC).

Sds,

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Armazenamento de Imagens

2012-03-22 Por tôpico Irineu
Em 21/03/2012 13:35, Flavio Henrique Araque Gurgel escreveu:
 Nossa, que perigo... Se o cara errar qualquer coisa no ftp ou trocar 
 um simples caractere do nome de um arquivo seu banco de dados não 
 apontará mais pro arquivo certo. Eu sei que isso é prática comum, 
 muita gente acha que banco de dados não é lugar de guardar arquivos, 
 mas o risco é tremendo considerando os bancos de dados modernos.
Concordo com o Flávio, na prática guardar arquivos no banco de dados 
vale a pena, tenho clientes com que usam um catalogo eletronico de 
produtos, com milhares de fotos, funciona perfeitamente com muita pouca 
manutenção e segurança, em 3 anos tive apenas 2 casos em que o arquivo 
ficou corrompido, foi só repor a foto e tudo certo.


-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Armazenamento de Imagens

2012-03-22 Por tôpico Irineu

Em 22/03/2012 10:46, Alexsander Rosa escreveu:
E como faz se o cliente quiser mudar a marca d'água em todos os 
produtos?


Em 22 de março de 2012 08:23, Irineu iri...@senda.inf.br 
mailto:iri...@senda.inf.br escreveu:


Em 21/03/2012 13:35, Flavio Henrique Araque Gurgel escreveu:
 Nossa, que perigo... Se o cara errar qualquer coisa no ftp ou trocar
 um simples caractere do nome de um arquivo seu banco de dados não
 apontará mais pro arquivo certo. Eu sei que isso é prática comum,
 muita gente acha que banco de dados não é lugar de guardar arquivos,
 mas o risco é tremendo considerando os bancos de dados modernos.
Concordo com o Flávio, na prática guardar arquivos no banco de dados
vale a pena, tenho clientes com que usam um catalogo eletronico de
produtos, com milhares de fotos, funciona perfeitamente com muita
pouca
manutenção e segurança, em 3 anos tive apenas 2 casos em que o arquivo
ficou corrompido, foi só repor a foto e tudo certo.


--
Atenciosamente,
Alexsander da Rosa
http://rednaxel.com



No meu caso não tenho esse requisito, dificilmente haverá uma troca de 
muitas imagens ao mesmo tempo.


A maioria são desenhos técnicos(solados para calçados, peças metalicas, 
calçados) com alta resolução.


Toda imagem é armazenada num cache na estação, todas elas geram uma 
chave hash md5.

Se ela foi alterada, o aplicativo substitui a imagem no cache.


--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Armazenamento de Imagens

2012-03-21 Por tôpico Irineu

Em 20/03/2012 21:56, Ronei Heck escreveu:

Olá, Senhores(as),
Necessito armazenar no banco de dados imagens de produtos e clientes.
Qual o tipo de campo utilizado para isso?
O que é melhor: criar uma tabela para fotos no mesmo banco de dados, 
ou criar um banco de dados só para as fotos? Se for no mesmo banco de 
dados das demais tabelas, haverá problema com backup?



Olá,

Tenho uma aplicação ERP para indústria em 56 clientes, com milhares de 
fotos rodando sem problemas, utilizo campo bytea.
No nosso caso a decisão de separar a imagens em um outro banco é feita 
conforme a estrutura de servidor e rede de cada cliente.


Visando diminuir o trafego de rede, criamos um mecanismo de cache em 
cada estação, a aplicação procura no cache, se não encontrar importa do 
banco,

isso evita estar buscando toda hora a mesma imagem.

Sds,

--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Armazenamento de Imagens

2012-03-21 Por tôpico Irineu
Em 21/03/2012 10:31, Leandro Guimarães Faria Corce DUTRA escreveu:
 Le 2012-M-21 09h40, Irineu a écrit :
 a decisão de separar a imagens em um outro banco é feita conforme a
 estrutura de servidor e rede de cada cliente.

 Não entendi… um outro banco perto do cliente ou centralizado?



cliente no caso é a entidade juridica que utiliza minha aplicação(me 
paga, eheheh).

As vezes o servidor onde está rodando os dados já não é o ideal, aí tem 
uma maquina lá sobrando,fica como servidor de fotos.

Mas não é regra, quando tem um servidor bom fica tudo no mesmo.

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Definir ordenação

2012-02-15 Por tôpico Irineu
Em 15/02/2012 02:45, Danilo Silva escreveu:
 Pessoal,

 Tenho a seguinte select:

 SELECT codigo, nome FROM tabela WHERE (codigo IN (4,6,1,3))

 Existe a possibilidade de ordenar pelo codigo, de forma que o 
 resultado seja ordenado pela mesma ordem que foi passado no IN? ou 
 seja, o 1º resultado seria o código 4, o 2º seria o codigo 6 e assim 
 por diante?

 Obrigado a todos

 Danilo

outra possibilidade um tanto incomum :

SELECT codigo, nome FROM tabela WHERE (codigo IN (4,6,1,3)) ORDER BY 
POSITION (codigo IN ARRAY[4,6,1,3]::TEXT)

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Banco de dados não inicia serviço

2012-01-25 Por tôpico Irineu

Talvez possa ajudar:

Tive problemas para subir o Postgres no windows, o arquivo 
postmaster.pid não foi removido da pasta \data.

Apaguei o arquivo e o banco subiu.

Sds,
Irineu.

Em 25/01/2012 13:39, Ronei Heck escreveu:

Senhores(as),
Tenho um banco de dados de um cliente que não quer abrir. Acredito que 
esteja corrompido. Tenho o Postgres 8.3 instalado, e com a minha pasta 
\data normal, inicia o serviço e abre normalmente. Mas quando paro o 
serviço, troco a pasta \data pela do meu cliente, e tento iniciar o 
serviço, ele não inicia, fica pondo pontinhos na tela indefinidamente.
Necessito pegar as vendas de um período pra passar para o cliente. 
Estas ficaram fora do backup que já foi restaurado lá. Então, 
pergunto: existem uma forma de acessar este banco de dados? Quais os 
passos que devo seguir? Existe algum tutorial que ensine os passos?

Muito obrigado por qualquer ajuda.
Ronei
RH Sistemas
Postgres 8.3
Clarion 6.1
Windows XP


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



--
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
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 trigger

2012-01-13 Por tôpico Irineu
use uma RULE ou
crie a trigger no BEFORE INSERT da tabela e coloque uma condição  
NEW.campo IS NULL.


Em 13/01/2012 10:20, Pedro Costa escreveu:
 Pessoal,


 eu tenho o seguinte trigger e função:

 http://pastebin.com/KxxTekd0


 ele executa o trigger sempre para todos os registos, será que podem
 dizer-me como faço para que ele execute apenas para novos registos e
 para campos com valor null?

 Obrigado
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
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 trigger

2012-01-13 Por tôpico Irineu

Em 13/01/2012 13:41, Danilo Silva escreveu:
Mas Irineu, até onde eu sei, utilizando trigger, independentemente do 
resultado da função o evento acontece, ou seja, se for insert, esse 
registro será inserido, estando null ou não. Creio que a solução 
estaria na RULE.


Danilo

Em 13 de janeiro de 2012 12:01, Irineu iri...@senda.inf.br 
mailto:iri...@senda.inf.br escreveu:


use uma RULE ou
crie a trigger no BEFORE INSERT da tabela e coloque uma condição
NEW.campo IS NULL.



Caro Danilo,

Entendi q o nosso colega gostaria q a trigger fosse disparada apenas 
para registros novos e não o INSERT na tabela em si.
Mesmo assim é possível usar a trigger, no BEFORE INSERT, coloca a 
condição q desejar dentro dela e faz um RETURN NEW se atender a condição 
ou um RETURN NULL se quiser chutar o registro, cfe exemplo de uma 
trigger q tenho no BEFORE INSERT:


  IF COALESCE(NEW.cod_componente,'') IN ('PAP','SUP')  THEN
 NEW.quantidade:= 1*COALESCE((SELECT a.quantidade FROM 
senda.ind_03_03_02_01 a WHERE a.id = NEW.id_op),1);

 RETURN NEW;
  ELSEIF COALESCE(NEW.quantidade,0) = 0 THEN
 RETURN NULL;
  END IF;

no caso do campo quantidade for 0 e os componentes nao forem 'PAP' e 
'SUP' o banco nao executa o INSERT desse registro.


Irineu.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Postgres 9.1

2012-01-13 Por tôpico Irineu
Senhores,

Estou usando a versão 9.0, vale a pena migrar para 9.1 ?

-- 
Irineu Raymundo
Programador/Consultor Técnico
Senda Engenharia de Dados Ltda.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Modelagem: funcionário x dependente

2011-05-26 Por tôpico Irineu
Em 26/05/2011 09:30, Alexsander Rosa escreveu:
 Tudo isso porque eu queria evitar que o filho de um casal onde ambos 
 são funcionários tivesse dois registros no sistema... :-)

Mas no caso do dependente em questão o filho é de ambos, mas apenas 1 
dos funcionários pode ter o dependente,
ou então a empresa terá de pagar os beneficios dos dependentes em dobro ?


Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Navegar entre os registros

2011-05-06 Por tôpico Irineu Raymundo
Tenho a seguinte situação (comum), onde pretendo apresentar os registros do
BD quando o usuário clicar nos botões de navegação.

Botão para: Primeiro, Anterior, Próximo e Último Registro.

Mas, preciso que ocorra com as informações reais do BD, sem uso do cursor.

Ao clicar nos botões, pretendo executar o select e apresentar a
informação atual do BD.

Dos exemplos abaixo, o que posso melhorar ?

 

 

Olá Jocimar,

 

 

Utilizo Delphi com Zeus  e nosso ERP tem barra de navegação, a medida que as
tabelas foram crescendo surgiu a necessidade de filtrá-los.

 

Na tabela coloquei um parametro para filtrar os registros:  'SELECT * FROM
tabela WHERE campo =:campo_chave'.

 

  :campo_chave é o resultado de uma função que executa o SQL abaixo.

  :valor é o codigo do registro atual.

 

 1)primeiro SELECT MIN(campo) FROM tabela;

 2)anterior  SELECT campo FROM tabela WHERE campo  :valor   ORDER BY
campo DESC LIMIT 1;

 3)próximo SELECT campo FROM tabela WHERE campo  : valor  ORDER BY
campo LIMIT 1;

 4)último SELECT MAX(campo) FROM tabela;

 

Espero te ajudado.

Sds,

 

Irineu Raymundo.

Senda Engenharia de Dados Ltda.

 



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] ENC: RES: Uso de memória pelo postgres

2011-03-04 Por tôpico Irineu Raymundo
Como o Euler disse, fica muito difícil imaginar o que a sua rotina está 
fazendo. Se for um processo crítico para você, recomendo contratar uma 
consultoria para avaliar o problema. Podemos dar algumas dicas aqui, mas os 
seus problemas podem começar na configuração do PostgreSQL, passando por 
problemas de modelagem e possivelmente de reescrita do procedimento com o um 
todo. 

Sem enxergar o processo como um todo, fica muito difícil lhe ajudar. Já fiz 
este tipo de trabalho para várias vezes e sei como é difícil ajudar sem ter 
uma visão global do problema. Tenho certeza de que você vai encontrar ótimos 
profissionais por aqui.

Agora, se você puder mostra todo o processo aqui, então poderemos lhe dar 
algumas idéias, claro.

--


Prezado Fábio,

Obrigado pela ajuda, vou seguir o teu conselho e sugerir uma consultoria para 
avaliar o problema.

De qualquer forma consegui levantar alguma informações,o problema se resume a 2 
comandos SQL.

abaixo segue os comandos.Poderia a falta de um índice mais apropriado causar 
essa demora toda na execução dele?

Os shared_buffers do postgres não tem valor de memória significativo alocada, o 
postgres tá dependendo totalmente do sistema operacional para o gerenciamento 
de memória.

Servidor: OS Linux RedHat Interprise 5,  2  HD's SATA 5200rpm fazendo raide 1, 
4GB RAM.
PostgreSQL 8.3 ,base com 19GB aproximadamente.

O processo problemático iniciou aproximadamente as 13:17 de ontem e terminou as 
15:04.

O Postgres usou 3,7 GB de RAM.

Foi alterado a  configuracao do PostgreSQL para reportar nos logs todo comando 
SQL cujo tempo de execucao ultrapesse 500ms.

Gerou 1.534 comandos SQL no log, indicando que esse processo executou 
aproximadamente 1.500 comandos SQL com tempo superior a 500ms. O log aponta que 
estes comandos se resumem a apenas 2 comandos SQL, um sendo executado 513 vezes 
e o outro 1019.

Essa tabela tem (ind_03_03_02_01_01) tem 840MB.

Os dois comandos SQL sao:
1019 vezes:
SELECT DISTINCT
   CAST(array_to_string(ARRAY(SELECT op2.tamanho || '/' || 
CAST(SUM(op2.quantidade) AS VARCHAR)
FROM senda.ind_03_03_02_01_01 op2
   WHERE op2.tamanho  '' AND
 op2.remessa = op.remessa AND
 op2.cod_componente = 
op.cod_componente AND
 op2.cod_material = 
op.cod_material AND
 op2.cod_cor = op.cod_cor AND
op2.cod_op IN
   (SELECT op3.cod_op
  FROM 
senda.ind_03_03_02_01_02_a1 op3
 WHERE op3.remessa = 
op2.remessa AND
op3.op_aux2 =0 AND
   op3.usuario = '' AND
   op3.sequencia_comp = 0)
GROUP BY op2.remessa, 
op2.cod_componente, op2.cod_material, op2.cod_cor, op2.tamanho
ORDER BY op2.remessa, 
op2.cod_componente, op2.cod_material, op2.cod_cor, op2.tamanho
 ), '   ') AS VARCHAR) AS grade
  FROM senda.ind_03_03_02_01_01 op
 WHERE op.tamanho  '' AND
   op.remessa IN (SELECT op3.remessa
FROM senda.ind_03_03_02_01_02_a1 op3
   WHERE op3.remessa = op.remessa AND
 op3.op_aux2 = 0 AND
 op3.sequencia_comp = 0 AND
 op3.usuario =  '')  AND
   op.cod_componente = '' AND
   op.cod_material = '' AND
   op.cod_cor = 0;

513 vezes:
SELECT  op.numero,   
 op.quantidade  
   
 FROM senda.ind_03_03_02_01_02 op   
 
 WHERE op.remessa IN(SELECT op2.remessa 
  
  FROM senda.ind_03_03_02_01_02_a1 op2  
 
  WHERE op2.remessa = op.remessa
  
AND op2.sequencia_comp = 54 
  
AND op2.op_aux2 = 392   
  
AND op2.usuario = 'adriel') 
  
AND op.cod_op IN 

[pgbr-geral] Uso de memória pelo postgres

2011-02-25 Por tôpico Irineu Raymundo
Caros,

 

tenho uma função que calcula as necessidades de matéria prima para produção
fazendo da seguinte forma: 

 

-cria tabelas temporárias e insere apenas os registros necessários para o
calculo.

-cria índices para essas tabelas temporárias

-efetua os cálculos

-insere no banco o resultado.

 

Acontece que quando executa essa função demora mais de 3 horas para
concluir, muitas vezes tendo que reiniciar o banco.

 

Depois dos cálculos gerados a inserção dos dados é rápida.

 

O servidor(Linux) tem 3,2GB reservado de RAM para o banco. Porém pelo
diagnostico que me foi passado pelo administrador da rede o postgres nunca
utilizou mais que 0,9 GB.

 

Que configurações do banco poderia olhar para que o postgres utilize mais
memória? Será que seria isso ? O que poderia ser?

 

Se alguém puder me dar uma luz ficarei imensamente agradecido.

 

 

Atenciosamente,

Irineu Raymundo

 

 

 

 


  



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Uso de memória pelo postgres

2011-02-25 Por tôpico Irineu Raymundo
Marcal,

são +/- 12 tabelas temporárias: 2 com 350.000 registros e o restante não
passa de 8.000 registros.
nestas tabelas com 350.000 registros que são feitos os cálculos, não utilizo
cursor, no INSERT já faço o cálculo necessário e depois no último estagio do
processo um UPDATE, após INSERT dos dados.



-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Marcal
Hokama
Enviada em: sexta-feira, 25 de fevereiro de 2011 10:38
Para: pgbr-geral@listas.postgresql.org.br
Assunto: Re: [pgbr-geral] Uso de memória pelo postgres



 From: iri...@senda.inf.br
 To: pgbr-geral@listas.postgresql.org.br
 Date: Fri, 25 Feb 2011 09:37:17 -0300
 Subject: [pgbr-geral] Uso de memória pelo postgres


 Caros,



 tenho uma função que calcula as necessidades de matéria prima para 
 produção fazendo da seguinte forma:



 -cria tabelas temporárias e insere apenas os registros necessários 
 para o calculo.

 -cria índices para essas tabelas temporárias

 -efetua os cálculos

 -insere no banco o resultado.



 Acontece que quando executa essa função demora mais de 3 horas para 
 concluir, muitas vezes tendo que reiniciar o banco.



 Depois dos cálculos gerados a inserção dos dados é rápida.



 O servidor(Linux) tem 3,2GB reservado de RAM para o banco. Porém pelo 
 diagnostico que me foi passado pelo administrador da rede o postgres 
 nunca utilizou mais que 0,9 GB.



 Que configurações do banco poderia olhar para que o postgres utilize 
 mais memória? Será que seria isso ? O que poderia ser?



 Se alguém puder me dar uma luz ficarei imensamente agradecido.





 Atenciosamente,

 Irineu Raymundo


Prezado Irineu,

Tem como passar o volume de dados envolvidos nessas tabelas temporárias? 
Marçal de Lima Hokama--e-mail: mhok...@hotmail.com

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral













Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Uso de memória pelo postgres

2011-02-25 Por tôpico Irineu Raymundo
Em 25/02/11, Irineu Raymundoiri...@senda.inf.br escreveu:
 Caros,

 tenho uma função que calcula as necessidades de matéria prima para 
 produção fazendo da seguinte forma:

 -cria tabelas temporárias e insere apenas os registros necessários 
 para o calculo.
 -cria índices para essas tabelas temporárias -efetua os cálculos 
 -insere no banco o resultado.

 Acontece que quando executa essa função demora mais de 3 horas para 
 concluir, muitas vezes tendo que reiniciar o banco.

 Depois dos cálculos gerados a inserção dos dados é rápida.

 O servidor(Linux) tem 3,2GB reservado de RAM para o banco. Porém pelo 
 diagnostico que me foi passado pelo administrador da rede o postgres 
 nunca utilizou mais que 0,9 GB.

 Que configurações do banco poderia olhar para que o postgres utilize 
 mais memória? Será que seria isso ? O que poderia ser?

 Se alguém puder me dar uma luz ficarei imensamente agradecido.



Dependendo do volume e complexidade dos cálculos envolvidos a PL/pgSQL pode
não ser a alternativa mais eficiente.
Caso sejam cálculos complexos e volumosos considere a utilização de C para
esta rotina de cálculo.

Osvaldo


Osvaldo, 

É uma boa sugestão, talvez seja o caminho. Essas PL's foram escritas
originalmente por outra pessoa, estão em PL/psSQL mas são apenas INSERT e
UPDATE.

Pela sua experiência, trocando para a linguagem para sql pode haver melhora
no desempenho?








Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Uso de memória pelo postgres

2011-02-25 Por tôpico Irineu Raymundo
Marcelo,

tua sugestão de criar as tabelas com nome único é bem interessante.

hj não tenho problema com as tabelas temporárias por que antes de dar um
COMMIT elas são dropadas,
tm essa rotina é exclusiva, apenas um usuário pode executar.

tive problema com tabela em uso exclusivo, motivo pelo qual uso as
temporárias, insiro nelas os dados e ai posso manipular a vontade, sem
bloquear ninguém.

o processo não faz UPDATE em nenhum registro, antes de dar o INSERT do
resultado da função faço um DELETE dos registros antigos.



-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Marcelo
Silva (IG)
Enviada em: sexta-feira, 25 de fevereiro de 2011 11:12
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Uso de memória pelo postgres

Irineu, vou arriscar em dizer:

Imagino que estja fazendo o seguinte:

Cria tabela (com um determinado nome)
Executa as rotinas
Deleta tabela

E se a tabela já existe o que voce faz ?
Alter Table ?

O postgres no momente que vai Excluir, Alterar tabelas e indices, ele
precisa de acesso exclusivo, o que pode estar acontecendo é que no momento
que você solicita a Alter Table ou Drop ele aguarda alguém que está
usando a bendita tabela em questão, assim ele demora esse tempo todo.

O que pode tentar fazer é se possível e se a tabela é de uso exclusivo para
estes calculos, crie as tabelas com nomes Unicos para que não haja conflito
entre os usuários, não use alter table a menos que saiba que a tabela não
esteja sendo usada.

Acho que adicionando o nomeuser a data e hora ao nome da tabela, ou o
usuario ja que deve ser unico ja resolveria seu problema, exemplo:

CRETAE TABLE TB_CALCULO+USER+DATA+HORA

Assim cada tabela seria unica

ps. esteja certo de fechar a tabela antes de exclui-la ou altera-la

Espero ter sido claro...



Marcelo Silva
---



-Mensagem Original-
From: Marcal Hokama
Sent: Friday, February 25, 2011 10:37 AM
To: pgbr-geral@listas.postgresql.org.br
Subject: Re: [pgbr-geral] Uso de memória pelo postgres



 From: iri...@senda.inf.br
 To: pgbr-geral@listas.postgresql.org.br
 Date: Fri, 25 Feb 2011 09:37:17 -0300
 Subject: [pgbr-geral] Uso de memória pelo postgres


 Caros,



 tenho uma função que calcula as necessidades de matéria prima para
 produção fazendo da seguinte forma:



 -cria tabelas temporárias e insere apenas os registros necessários para
 o calculo.

 -cria índices para essas tabelas temporárias

 -efetua os cálculos

 -insere no banco o resultado.



 Acontece que quando executa essa função demora mais de 3 horas para
 concluir, muitas vezes tendo que reiniciar o banco.



 Depois dos cálculos gerados a inserção dos dados é rápida.



 O servidor(Linux) tem 3,2GB reservado de RAM para o banco. Porém pelo
 diagnostico que me foi passado pelo administrador da rede o postgres
 nunca utilizou mais que 0,9 GB.



 Que configurações do banco poderia olhar para que o postgres utilize
 mais memória? Será que seria isso ? O que poderia ser?



 Se alguém puder me dar uma luz ficarei imensamente agradecido.





 Atenciosamente,

 Irineu Raymundo


Prezado Irineu,

Tem como passar o volume de dados envolvidos nessas tabelas temporárias?
Marçal de Lima Hokama--e-mail: mhok...@hotmail.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



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Conseguem me ouvir?

2010-11-30 Por tôpico Irineu Raymundo
eu tmb.

 

De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Marcelo
Silva
Enviada em: terça-feira, 30 de novembro de 2010 08:19
Para: t...@batistarepresentacoes.com; Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Conseguem me ouvir?

 

eu recebi essa

- Original Message - 

From: Rubens José Rodrigues
mailto:rubens.rodrig...@batistarepresentacoes.com  

To: 'Comunidade PostgreSQL Brasileira'
mailto:pgbr-geral@listas.postgresql.org.br  

Sent: Tuesday, November 30, 2010 7:58 AM

Subject: [pgbr-geral] Conseguem me ouvir?

 

Pessoal,

Não recebo mensagens do grupo há uns 4 dias, algum problema ou eu sou (estou
com) o problema?

Rubens José Rodrigues

  _  

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


-- 
Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. 



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: MELHOR VERSAO APOS 8.3

2010-09-30 Por tôpico Irineu Raymundo
obrigado pela dica, vou ir por esse caminho.

-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Victor Hugo
Enviada em: terça-feira, 28 de setembro de 2010 14:12
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] MELHOR VERSAO APOS 8.3

Irineu,

Eu utilizo a 8.4.4, ainda não migrei para a 9.0.

Migre para a 9.0

[]´s
victor hugo


Em 28 de setembro de 2010 13:51, Irineu Raymundo iri...@senda.inf.br
escreveu:
 boa tarde pessoal,



 Estamos pensando fazer update  para uma versão mais recente do 
 postgres, atualmente utilizamos a versão 8.3 .

 Qual seria a versão mais indicada ?





 obrigado.

 Irineu Raymundo

 Senda Engenharia de Dados Ltda.

 --
 
 Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados.

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral





--
[]´s
Victor Hugo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] MELHOR VERSAO APOS 8.3

2010-09-28 Por tôpico Irineu Raymundo
boa tarde pessoal,

 

Estamos pensando fazer update  para uma versão mais recente do postgres,
atualmente utilizamos a versão 8.3 .

Qual seria a versão mais indicada ?

 

 

obrigado.

Irineu Raymundo

Senda Engenharia de Dados Ltda.



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Numerando linhas via SELECT no PGSQL

2010-05-14 Por tôpico Irineu Raymundo

Uma alternativa: 

SELECT DISTINCT ON (a.linha) a.linha,a.nome FROM (SELECT
generate_series(1,(SELECT COUNT(c.id) FROM pessoa c ),1) AS linha, 
  b.nome FROM pessoa b ORDER BY
nome) AS a;


Sds,
Irineu Raymundo.

Senhores,

Tenho o seguinte banco:

create table pessoa (id integer primary key, nome varchar);
insert into pessoa(id, nome) values(2, 'daniel');
insert into pessoa(id, nome) values(45, 'jefferson');
insert into pessoa(id, nome) values(23, 'eduardo');
insert into pessoa(id, nome) values(1, 'silvio');
insert into pessoa(id, nome) values(5, 'viviane');
insert into pessoa(id, nome) values(5, 'soila');

preciso fazer uma simples consulta onde me retorne isso:

linha | nome

1   | daniel
2   | eduardo
3   | jefferson
4   | silvio
5   | soila
6   | viviane

no oracle, eu faria o seguinte comando:

select rownum as linha, nome from pessoa order by nome

a pergunta é: Como faço isso no postgres? Não existe uma variavel rownum no
postgres?

-- 
Atenciosamente,
Daniel Falcão

Analista e Desenvolvedor de Software
http://lattes.cnpq.br/2208735579737258
http://embuar.blogspot.com
http://twitter.com/embuar

-- 
Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. 



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: quantiade de caracteres

2010-05-12 Por tôpico Irineu Raymundo
Prezado Pedro,

Se não houver uma contribuição melhor eu tenho um RTA:
SELECT LENGTH('4343.5656.86.213')-
LENGTH((REPLACE('4343.5656.86.213','.','')));

Sds,
Irineu.

 -Mensagem original-
 De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-
 boun...@listas.postgresql.org.br] Em nome de Pedro Espíndola
 Enviada em: quarta-feira, 12 de maio de 2010 10:54
 Para: Comunidade PostgreSQL Brasileira
 Assunto: [pgbr-geral] quantiade de caracteres
 
 Amigos bom dia
 
 
 como faço para fazer um select retornando a quantiade de vezes que um
 determinado caractere aparece em uma coluna string.
 
 Por exemplo
 
 4343.5656.86.213
 
 quantas vezes aparece o ponto (.) nesta string. resposta 3
 
 
 obr
 Pedro
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 ---
 -
 Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados
 Ltda.




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Comando IF

2010-05-10 Por tôpico Irineu Raymundo
Pode-se dizer que tmb nas condicoes WHERE de um SQL ele se comporta igual? 

CREATE TABLE teste (cod INTEGER, nome VARCHAR(10));
INSERT INTO teste VALUES(1,'teste');
SELECT * FROM teste WHERE cod = 2 AND CAST(nome AS INTEGER) = 0;

Sds,
Irineu.


 -Mensagem original-
 De: pgbr-geral-boun...@listas.postgresql.org.br [mailto:pgbr-geral-
 boun...@listas.postgresql.org.br] Em nome de Pedro Espíndola
 Enviada em: segunda-feira, 10 de maio de 2010 14:16
 Para: Comunidade PostgreSQL Brasileira
 Assunto: Re: [pgbr-geral] Comando IF
 
 Os compiladores são inteligentes de forma a não gastar energia atoa,
 como trata-se de uma condição do tipo AND, em q todas as condições
 devem ser satisfeitas, com certeza a primeira condição não sendo
 satisfeita, o restante é desprezado não necessitando ser testado.
 
 Abs
 Pedro
 
 2010/5/10 Ricardo li...@softclube.com.br:
  Em 04/05/2010 13:29, rogeriogrando escreveu:
  Ola pessoal, estou com seguinte duvida, (Postgres 8.3.5).
  Tenho a seguinte restrição.
 
  IF ((x = 0) AND (y = 0)) AND (z = 0) THEN
  END IF;
 
  Se a primeira restrição ((x = 0) AND (y = 0)) não é satisfeita o
 banco mesmo assim faz a segunda (z = 0)?
 
  Até onde eu sei o banco avalia todos os testes, independentemente, da
  falha e algum dos testes.
 
  ___
  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
 
 ---
 -
 Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados
 Ltda.




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Coluna na tabela tipo imagem ou pdf

2010-04-26 Por tôpico Irineu Raymundo
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de George M 
Tabatinga
 Enviada em: segunda-feira, 26 de abril de 2010 12:57
 Para: Comunidade PostgreSQL Brasileira
 Assunto: [pgbr-geral] Coluna na tabela tipo imagem ou pdf

 Senhores,

 ,Qual a melhor forma de armazenar uma informação tipo imagem no formato
pdf numa tabela Postgres?
 ,Grato,
 George

 -- 
 George Machado Tabatinga,
 Analista de Sistemas - SETUR

Olá George,

No nosso caso armazenamos a imagem(bytea) numa tabela e referenciamos o
código(integer) na tabela que utiliza a
imagem(produtos,materiais,referencias, etc...).

Criamos uma pasta cache nas estações, o aplicativo vai buscar do cache; se
não encontrar a imagem ou ela tiver sido adulterada entao copia imagem do
banco para o cache. Assim evitamos ao maximo o trafego na rede, que pra nós
era o grande problema de manter imagens numa pasta e armazenar no banco
apenas o caminho.


Tomara q tenha ajudado em alguma coisa.
Irineu Raymundo.





Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: PostgreSQL x Firebird

2010-04-22 Por tôpico Irineu Raymundo
Não sei por que o pessoal do Delphi insiste em compara Firebird com o 
PostgreSQL.
Não vamos generalizar, tem muita gente boa no Delphi que ama o elefente.

De: pgbr-geral-boun...@listas.postgresql.org.br 
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Willian Jhonnes 
L. dos Santos
Enviada em: quinta-feira, 15 de abril de 2010 10:17
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] PostgreSQL x Firebird

Em 14/04/2010 18:56, Roberto Mello escreveu: 
Não sei por que o pessoal do Delphi insiste em compara Firebird com o 
PostgreSQL.


A questão não é comparar o PostgreSQL com o Firebird. A questão é que 
programadores Delphi levam a vida no melhor estilo TDataSet (quem programa ou 
já programou em Delphi sabe o que isso quer dizer).

O Firebird deriva do Interbase. O Delphi, originalmente uma ferramenta da 
Imprise, depois Borland, depois CodeGear e, por fim, da Embarcadero, foi 
mantida, por longos anos, pela mesma empresa que desenvolve e mantém o 
Interbase. Para um casamento perfeito, a Borland recomendava, ou como gosto 
de pensar, obrigava seus usuário a usar seus produtos em conjunto (afinal, na 
instalação do Delphi você podia instalar o Interbase e o DBExpress só 
funcionava a contento com ele).

Com o advento do Firebird, os programadores Delphi se viram livres da 
corrente que os prendia ao Interbase, mas continuaram com um SGBD que 
satisfizesse sua falta de jeito com outros SGBDs por estarem presos ao 
Interbase.

Enfim, programadores Delphi, no geral, não gostam de pensar. Apenas arrastam 
componentes num formulário. Isso é ser TDataSet. Opa, já ia me esquecendo, sou 
um programador Delphi também!

O que as pessoas não param pra analisar é a necessidade da aplicação e/ou 
cliente e todas as variáveis envolvidas no desenvolvimento. Não há porque 
instalar o PG num sistema monousuário, monoterminal, quando o SQLite atenderá 
eficientemente. Não há como usar o Firebird quando as exigências da 
aplicação/cliente são baseadas na segurança, integridade e volume dos dados, no 
volume de transações e outros quesitos mais críticos.

Com isso chego a uma conclusão: uma coisa é uma coisa, outra coisa é outra 
coisa. E essa thread, no fim, vai gerar tanta polêmica que não vai ajudar em 
nada.

E, afinal, pra que servem os DBAs e SGDBs robustos se temos o Firebird?

[]'s

-- 
 
---
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
willianjhon...@yahoo.com.br
---
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---
Powered by Slackware Linux 13.0
Kernel 2.6.32.6-i686-core2quad
---
Antes de perguntar:
http://www.istf.com.br/perguntas/
--
 
Esta mensagem foi verificada pelo sistema de Seguran硠da SJB Solados. 



Esta mensagem foi verificada pelo sistema de Seguran�a da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Dúvida Sequence

2010-04-22 Por tôpico Irineu Raymundo
Podes criar uma função e coloca-la  no default do campo no lugar do
sequence.

Dentro da função algo do tipo:
IF (SELECT MAX(date) FROM tabela)  CURRENT_DATE THEN
  SETVAL(sequence,1); 
  RETURN:= 1;
 ELSE
  RETURN:= nextval(sequence);
 END IF;

Espero ter ajudado.
Sds,
Irineu Raymundo.
  





-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de
lis...@softpira.com
Enviada em: quinta-feira, 22 de abril de 2010 12:02
Para: pgbr-geral@listas.postgresql.org.br
Assunto: [pgbr-geral] Dúvida Sequence


Bom dia!!!
Gostaria de fazer um sequencial diário para os registros de uma
determinada tabela (exemplo está no final da Mensagem).

Pensei em fazer por SEQUENCE mas não ficaria automático a cada mudança
de datas. Alguém tem alguma sugestão de como posso fazer neste caso?

Abraços,

Eder Sousa


21/04/2010   01
21/04/2010   02
21/04/2010   03
21/04/2010   04
21/04/2010   05

22/04/2010   01
22/04/2010   02
22/04/2010   03
22/04/2010   04
22/04/2010   05
22/04/2010   06
22/04/2010   07


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Problema com imagens em Postgres 8.3 UTF8

2009-11-23 Por tôpico IRINEU
Boa tarde a todos,



Estou tendo problemas com  imagens no 
banco.Eis a situação:



Com Postgres 8.3 UTF8 em servidor 
Linux, utilizo componente Zeos para 
conectar com banco ,carrego 
imagem(.jpg) num componente DBimage do 
Delphi.



Ao tentar ler dá o seguinte erro:  
Bitmap image is not valid.   



Tudo funcionava bem enquanto eu 
utilizava o postgres 8.1 em LATIN1.



Alguém tem alguma idéia do que pode 
ser? 



Desde já agradeço qualquer ajuda. 



Atenciosamente,

Irineu Raymundo

Senda Engenharia de Dados Ltda.

www.senda.inf.br



  

Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

attachment: irineu.vcf
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Problema com imagens em Postgres 8.3 UTF8

2009-11-23 Por tôpico IRINEU

Boa tarde a todos,

Estou tendo problemas com  imagens no banco.Eis a situação:

Com Postgres 8.3 UTF8 em servidor Linux, utilizo componente Zeos para
conectar com banco ,carrego imagem(.jpg) num componente DBimage do Delphi.

Ao tentar ler dá o seguinte erro:  Bitmap image is not valid.

Tudo funcionava bem enquanto eu utilizava o postgres 8.1 em LATIN1.

Alguém tem alguma idéia do que pode ser?

Desde já agradeço qualquer ajuda.
Atenciosamente,

Irineu Raymundo
Senda Engenharia de Dados Ltda.
www.senda.inf.br
(48) 3265 1379
(48) 3265 1379

Atenciosamente,

Irineu Raymundo
Senda Engenharia de Dados Ltda.
www.senda.inf.br
(48) 3265 1379
(48) 3265 1379


Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

attachment: irineu.vcf
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Funcao postgres

2009-10-22 Por tôpico IRINEU
 inet_client_addr
  - Original Message - 
  From: paulo matadr 
  To: pgbr_LISTA 
  Sent: Wednesday, October 21, 2009 12:09 PM
  Subject: [pgbr-geral] Funcao postgres


  Ola pessoal,


  um duvida simples, existe uma funcao no postgres que retorne o ip do usuario, 
do tipo:
  select get_ip ou algo parecido?

  agradeço



--
  Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 10 - 
Celebridades - Música - Esportes
  
--
 
  Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. 



--


  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Função com Tabela Temporária Qu e Não Apaga

2009-10-22 Por tôpico IRINEU
Bom dia a todos,

Tenho a seguinte Função:

CREATE OR REPLACE FUNCTION prog_op(integer,character varying,integer,character 
varying)
  RETURNS void AS
$BODY$
BEGIN
 
   CREATE TEMPORARY TABLE numeros_op ( lote_op integer, cod_ref varchar(16), 
cod_op integer, numero varchar(5), quantidade integer ) WITHOUT OIDS;
 .
  DROP TABLE numeros_op;
 
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Na primeira vez executo a função sem problemas, na segunda vez da a seguinte 
mensagem:
  ERROR:  relation with OID 2212534 does not exist
  CONTEXT:  SQL statement INSERT INTO 
senda.ind_03_03_02_01_02(cod_op,remessa,cod_ref,numero,quantidade) 
   SELECT c.cod_op, $1 
,c.cod_ref,c.numero,SUM(c.quantidade) FROM numeros_op c GROUP BY 
c.lote_op,c.cod_op,c.cod_ref,c.numero 
   ORDER BY  
c.lote_op,c.cod_op,c.cod_ref,c.numero  PL/pgSQL function prog_op line 81 at 
SQL statement 

Aí só encerrando a sessão.

Estou usando Postgres 8.1 .

Alguém tem alguma idéia do que poderia ser?


Agradeço qualquer ajuda, obrigado.

Irineu Raymundo
Senda Engenharia de Dados Ltda.








Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Função com Tabela Temporária Qu e Não Apaga

2009-10-22 Por tôpico IRINEU
Caro Fabrízio,

Valeu pela dica, resolvi o problema usando 'EXECUTE' cfe vc me indicou; foi só 
reescrever a função e pronto.


Atenciosamente, 

Irineu Raymundo
Senda Engenharia de Dados Ltda.
www.senda.inf.br
(48) 3265 1379


  - Original Message - 
  From: Fabrízio de Royes Mello 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Thursday, October 22, 2009 8:34 AM
  Subject: Re: [pgbr-geral]Função com Tabela Temporária Que Não Apaga





  2009/10/21 iri...@senda.inf.br

Bom dia a todos,

Tenho a seguinte Função:

CREATE OR REPLACE FUNCTION prog_op(integer,character 
varying,integer,character varying)
  RETURNS void AS
$BODY$
BEGIN
 
   CREATE TEMPORARY TABLE numeros_op ( lote_op integer, cod_ref 
varchar(16), cod_op integer, numero varchar(5), quantidade integer ) WITHOUT 
OIDS;
 .
  DROP TABLE numeros_op;
 
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

Na primeira vez executo a função sem problemas, na segunda vez da a 
seguinte mensagem:
  ERROR:  relation with OID 2212534 does not exist
  CONTEXT:  SQL statement INSERT INTO 
senda.ind_03_03_02_01_02(cod_op,remessa,cod_ref,numero,quantidade) 
   SELECT c.cod_op, $1 
,c.cod_ref,c.numero,SUM(c.quantidade) FROM numeros_op c GROUP BY 
c.lote_op,c.cod_op,c.cod_ref,c.numero 
   ORDER BY  
c.lote_op,c.cod_op,c.cod_ref,c.numero  PL/pgSQL function prog_op line 81 at 
SQL statement 

Aí só encerrando a sessão.

Estou usando Postgres 8.1 .

Alguém tem alguma idéia do que poderia ser?


  Caro Irieneu,

  Esse é um problema com versões anteriores a 8.3, conforme descrito no FAQ 
[1], mas que é contornável...

  Para resolver o problema basta executar a criação da tua tabela temporária 
dinâmicamente, ou seja, com o EXECUTE. Tente:

  EXECUTE 'CREATE TEMPORARY TABLE numeros_op ( lote_op integer, cod_ref 
varchar(16), cod_op integer, numero varchar(5), quantidade integer ) ON COMMIT 
DROP';

  Note que adicionei o ON COMMIT DROP, e com isso não existe necessidade do 
DROP TABLE ao final da tua função.

  Espero ter ajudado.


  [1] http://www.postgresql.org/docs/faqs.FAQ_brazilian.html#item4.19

  -- 
  Fabrízio de Royes Mello
   Blog sobre TI: http://fabriziomello.blogspot.com

  
--
 
  Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. 



--


  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] UPDATE em a FOR LOOP de uma funçã o não funciona

2009-10-20 Por tôpico IRINEU
- Original Message - 
  From: Rodrigo Sperb 
  To: pgbr-geral@listas.postgresql.org.br 
  Sent: Tuesday, October 20, 2009 11:03 AM
  Subject: [pgbr-geral] UPDATE em a FOR LOOP de uma função não funciona


  Olá a todos,

  Estou tendo um problema para realizar um UPDATE numa tabela dentro de um FOR 
LOOP de uma função. Por algum motivo, o UPDATE não é realizado.

  Aqui está a parte em que dá problema:

  FOR ltt IN SELECT * FROM arrival_time_function AS at INNER JOIN edge AS e ON 
e.t_node=at.vid WHERE e.f_node=n_i
  LOOP
geo := (SELECT dr_arrivaltime_function(geo_ti,n.geom, ltt.geom, 
tau_i,tau_prime)
FROM (SELECT ltt.t_node AS vid, ef.geom
  FROM _edge_delay_function_ AS ef
  WHERE ltt.id=ef.eid AND ltt.val_dir=ef.val_dir) AS n);
  RAISE NOTICE 'geo =
 %', st_AsText(geo);
ivid := ltt.vid;
  RAISE NOTICE 'ivid =
 %', ivid; 
 UPDATE arrival_time_function SET geom=geo WHERE vid=ivid;
 DELETE FROM _queue_arrival_time_ WHERE vid=ltt.t_node AND tau = tau_i AND 
tau = tau_prime;
  END LOOP;

  Ah! ltt é declarado como do tipo record. E as NOTICEs me indicam que o que 
não acontece é a atualização na tabela, que o resto vai bem. Por favor, 
entendam que esse código já foi retrabalhado para tentar resolver o problema. 
Então, por exemplo, a variável ivid foi criada para ver se assim funcionava, 
ao invés de simplesmente colocar vid=ltt.vid O DELETE que segue o UPDATE 
parece não funcionar também...

  Espero que alguém tenha uma idéia de qual é o problema. Desde já agradeço 
eventuais sugestões. Isso faz parte da implementação do meu mestrado e perdi 
quase o dia todo por esso erro, ao meu ver, bobo...

  Atenciosamente
  Rodrigo Sperb

  
--
 
  Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. 



--


  ___
  pgbr-geral mailing list
  pgbr-geral@listas.postgresql.org.br
  https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

  Boa Tarde,

  Já me aconteceu uma vez a mesma situação, acabei descobrindo que dentro da 
função tinha criado uma variável com o mesmo nome do campo da tabela que estava 
executando o update.
  Foram  4 horas até achar...

  Sds,

  Irineu Raymundo







Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
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 de modelagem de contas de ba ncos

2009-10-16 Por tôpico IRINEU
Bom dia,

Se ajudar :
  No meu caso tenho na tabela de movimentações da conta um campo que grava 
um sequencial(para saber a sequencia cronológica dos movimentos)
  e outro o saldo atual (saldo do movimento anterior + o valor do movimento 
que está sendo incluído).
   -na tabela da conta fica o saldo inicial.
   -quando incluo uma nova movimentacao apenas busco o saldo gravado no 
movimento anterior(se for a primeira movimentação pego o saldo inicial da 
conta).
   -quando excluo ou modifico uma movimentaçao tenho que recalcular o saldo 
apartir do movimento excluído para frente.

assim tenho sempre o valor do saldo na conta para consulta sem precisar 
fazer muito cálculo.

espero te ajudado de alguma forma.

Atenciosamente,
Irineu Raymundo.

- Original Message - 
From: Bruno Carneiro guimaraescarne...@gmail.com
To: pgbr-geral@listas.postgresql.org.br
Sent: Saturday, October 10, 2009 11:31 AM
Subject: [pgbr-geral] Dúvida de modelagem de contas de bancos



Quero modelar a movimentação financeira em uma conta.

A conta tem um saldo inicial.

A partir daí haverão várias movimentações.

O saldo inicial + as movimentações vão gerar um novo saldo.

Como eu devo tratar esse saldo de forma eficiente?

1- Guardar somente o saldo inicial e toda vez recalcular o saldo baseado nas
movimentações?
2- Guardar o saldo atual em um campo.

O problema da abordagem número dois é que toda vez que alguém fizer uma nova
movimentação tenho que recalcular, talvez não seja o ideal.

O que me sugerem?
-- 
View this message in context: 
http://www.nabble.com/D%C3%BAvida-de-modelagem-de-contas-de-bancos-tp25834706p25834706.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda.




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Ajuda update em tabela noutro database

2009-08-26 Por tôpico Irineu Raymundo
Boa Tarde Pessoal,

 

Tenho 2 databases no mesmo banco e preciso fazer uma trigger no after insert
de uma tabela do database “a”  que faça um update numa tabela do database
“b”.

Alguém tem idéia de como faço isso ?

 

 

Desde já obrigado pela ajuda.

 

Irineu Raymundo

Senda Engenharia de Dados Ltda.

 



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: Ajuda update em tabela noutro database

2009-08-26 Por tôpico Irineu Raymundo
Desculpa viajei, são 2 bancos no mesmo servidor, parece que o jeito é usar
dblink; esse outro banco é uma aplicação de terceiros,
não posso mudar isso.

Obrigado.

-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo
Kussama
Enviada em: quarta-feira, 26 de agosto de 2009 16:51
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] Ajuda update em tabela noutro database

2009/8/26 Irineu Raymundo iri...@senda.inf.br:

 Tenho 2 databases no mesmo banco e preciso fazer uma trigger no after
insert
 de uma tabela do database “a”  que faça um update numa tabela do database
 “b”.

Dúvida: são dois schemas ou dois databases? (não entendi o que
possa significar 2 databases no mesmo banco)



 Alguém tem idéia de como faço isso ?

No caso de schemas diferentes não existe nenhum problema é só
referenciar o esquema.
No caso de databases diferentes a coisa complica. Você pode utilizar o
contrib dblink [1] mas pode acarretar um problema de performance caso
o uso não seja eventual.

Oscaldo

[1] http://www.postgresql.org/docs/current/interactive/dblink.html
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] RES: RES: Ajuda update em tabela noutro database

2009-08-26 Por tôpico Irineu Raymundo
Valeu mesmo.

-Mensagem original-
De: pgbr-geral-boun...@listas.postgresql.org.br
[mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo
Kussama
Enviada em: quarta-feira, 26 de agosto de 2009 17:01
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: Ajuda update em tabela noutro database

2009/8/26 Irineu Raymundo iri...@senda.inf.br:
 Desculpa viajei, são 2 bancos no mesmo servidor, parece que o jeito é usar
 dblink; esse outro banco é uma aplicação de terceiros,
 não posso mudar isso.



Complementando:

Sobre o dblink veja o post do jota Usando o DBLink para interligar
dois bancos PostgreSQL em http://jotacomm.wordpress.com/.
Veja também a dica do Joao Cosme de Oliveira Junior: uma boa seria
utilizar plproxy em casos bem simples

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 




Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Entrar no Grupo

2009-06-29 Por tôpico irineu
Boa Tarde !

Desculpe minha ignorancia, alguém poderia me dizer quais são os passos para 
entrar na lista?

Muito obrigado.
Irineu Raymundo.

Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral