[pgbr-geral] (sem assunto)

2009-09-02 Por tôpico Marcelo Giovane
Olá pessoal,
talvez vocês possam me ajudar.
Estou precisando elaborar uma consulta para retornar o primeiro elemento 
faltante numa sequência.
Ex:
Campox
200
201
202
205
206

No caso, deve retornar 203.

Obrigado.

MarceloG

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


Re: [pgbr-geral] Saber de onde veio o disparo da trigger

2009-06-29 Por tôpico Marcelo Giovane
Bom dia amigo,
uma trigger sempre trabalha com uma função, correto!?
Então, é só criar uma função que obtenha a propriedade TG_RELNAME que é 
automaticamente enviada para a mesma quando do evento de inserção, 
atualização ou exclusão.
De posse desse nome, as possibilidade são muitas.
Você pode inserir a mesma em uma tabela temporária, etc. ou, como eu, apenas 
ser notificado do evento na tabela.
A trigger abaixo chama a função de nome notificação() para a tabela de nome 
usuario.
Na oportunidade é possível obter o nome da tabela com a propriedade 
TG_RELNAME.
Por sua vez,  a função de notificação (que deve ser criada primeiro) envia 
uma notificação com o nome da tabela.

CREATE OR REPLACE FUNCTION notificacao() RETURNS TRIGGER AS $$ BEGIN 
EXECUTE 'NOTIFY ' || TG_RELNAME; RETURN NULL; END; $$ LANGUAGE PLPGSQL
'CREATE TRIGGER tusuario AFTER INSERT OR UPDATE OR DELETE ON usuario FOR 
EACH ROW EXECUTE PROCEDURE notificacao()'

Assim, quando entro numa determinada rotina, disparo um LISTEN e, de tempos 
em tempos, verifico as notificações recebidas.
Se o nome da tabela estiver relacionado, aviso o usuário de que a tabela foi 
atualizada e ele deve atualizar os dados visualizados.
Você pode fazer isso lendo o catálogo pg_listener também.
Dê uma olhada em LISTEN e NOTIFY.

MarceloG

PS: se for ler o pg_listener, não se esqueça de observar se o PID do 
processo notificante não é o mesmo.

- Original Message - 
From: Anderson Aguilar Ferreira ander...@pchelpmaringa.com.br
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Monday, June 29, 2009 8:16 AM
Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger


Bom dia Euler.

Eu sei sim o conceito de TRIGGER.

E o que eu queria nao e qual operacao ativou a trigger e sim de onde ela foi
ativada. E ja sabia que isto nao tem no PostgreSQL, mas nao custa nada
perguntar.

E antes de responder da maneira que vc respondeu, entenda primeira a
pergunta, Sr. Sabe Tudo.

Mas mesmo assim, muito obrigado pela atencao de todos.

- Original Message - 
From: Euler Taveira de Oliveira eu...@timbira.com
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Sunday, June 28, 2009 2:01 PM
Subject: Re: [pgbr-geral] Saber de onde veio o disparo da trigger


Anderson Aguilar Ferreira escreveu:

[corte as suas mensagens...]

 O que eu gostaria de saber, é se o PostgreSQL tem algum parâmetro que me
 informa que quem disparou a TRIGGER log_clienderecos foi
 a CONSTRAINT nome_qualquer.

Restrição (aka _constraint_) *não* dispara gatilho. Você não entendeu o
conceito de gatilhos [1][2]. Eles são associados a tabelas somente. E o que
você quer é que o Osvaldo já disse: utilize TG_* [3].


[1] http://www.postgresql.org/docs/8.3/static/triggers.html
[2] http://www.postgresql.org/docs/8.3/static/sql-createtrigger.html
[3] http://www.postgresql.org/docs/8.3/static/plpgsql-trigger.html


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

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







Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - www.avgbrasil.com.br
Versão: 8.5.375 / Banco de dados de vírus: 270.12.94/2208 - Data de 
Lançamento: 06/29/09 05:54:00

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


Re: [pgbr-geral] agrupamento

2009-04-27 Por tôpico Marcelo Giovane
Essa senha é utilizada na conexão com o banco de dados.
Não tem nada a ver com a instalação.
Na verdade, essa será a senha do usuário padrão de nome postgres.

MarceloG

  - Original Message - 
  From: Ricardo Suzuki 
  To: Comunidade PostgreSQL Brasileira 
  Sent: Monday, April 27, 2009 11:03 AM
  Subject: Re: [pgbr-geral] agrupamento


  oi to tentendo instalar na minha maquina o postgre mas ele pede uma senha que 
nao tenho
  isto no meio da instalação vc sabe a senha default do programa?


  2009/4/27 Fabio Henrique f_h_...@yahoo.com.br

Da para fazer da seguinte forma vinicius...

Tomei o nome da tabela como 'teste'. A consulta ficou assim

select placa, tipo, array_to_string(array(select codigo from teste t
where t.tipo = teste.tipo and t.placa = teste.placa),',') as codigo
from teste
group by placa, tipo

Dessa forma vc consegue fazer isso q vc qr

Espero ter ajudado...

Fabio Henrique


Em 27/4/2009 08:19, Vinicius escreveu:
 Estou precisando fazer um agrupamento da seguinte forma:

 Tenho os registros:

 Placa  Tipo  Codigos(varchar)
 AAA  11,2,3
 AAA  14,5,6

 Preciso agrupar por Placa e Tipo, mas ter os valores do registro 1 e 2
 no campo codigos.

 AAA  11,2,3,4,5,6




__
Faça ligações para outros computadores com o novo Yahoo! Messenger
http://br.beta.messenger.yahoo.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



--



  Nenhum vírus encontrado nessa mensagem recebida.
  Verificado por AVG - www.avgbrasil.com.br 
  Versão: 8.5.287 / Banco de dados de vírus: 270.12.4/2082 - Data de 
Lançamento: 04/27/09 06:19:00
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] notify

2009-04-14 Por tôpico Marcelo Giovane
Olá pessoal,
alguém tem uma função em c que pega a notificação gerada por notify.
Não estou conseguindo fazer o exempo do manual funcionar.
Está dando erro de exceção no Windows.

MarceloG

{
PGnotify *notify;
PQconsumeInput( PGconn * conn);
notify = PQnotifies( PGconn * conn);
...
Tratamento de notify-relname dá erro
...
PQfreemem(notify)
}










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


Re: [pgbr-geral] notify

2009-04-14 Por tôpico Marcelo Giovane
Olá Euler,
estou utilizando o xHarbour e sua interface c.

HB_FUNC (PQNOTIFIES)
{
   PGnotify *notify;
   PQconsumeInput(( PGconn * ) hb_parptr(1));
   notify = PQnotifies(( PGconn * ) hb_parptr(1));
   hb_retc( notify-relname );
   PQfreemem(notify);
}

Isso está correto e deveria funcionar.

Contudo, se faço referência ao membro, apesar de compilar, apresenta erro de 
execução.

Se deixo de fazer referência ao membro, retornando apenas hb_retc( notify ) 
compila e funciona sem erro.

O problema é que, quando há uma notificação, há retorno de 3 intelegíveis 
caracteres apenas, sem possibilidade de tratar a notificação recebida.

O exemplo do manual está em
http://pgdocptbr.sourceforge.net/pg80/libpq-example.html

E conforme se vê, não necessidade de alocação de memória ou algo parecido 
como alguns sugeriram.

Obrigado.

MarceloG

- Original Message - 
From: Euler Taveira de Oliveira eu...@timbira.com
To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br
Sent: Tuesday, April 14, 2009 11:20 AM
Subject: Re: [pgbr-geral] notify


Marcelo Giovane escreveu:
 alguém tem uma função em c que pega a notificação gerada por notify.
 Não estou conseguindo fazer o exempo do manual funcionar.
 Está dando erro de exceção no Windows.

Qual exemplo do manual? Qual o erro? Poste o código ao invés de um 
pseudo-código.


-- 
   Euler Taveira de Oliveira
   http://www.timbira.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral







Nenhum vírus encontrado nessa mensagem recebida.
Verificado por AVG - www.avgbrasil.com.br
Versão: 8.5.285 / Banco de dados de vírus: 270.11.56/2058 - Data de 
Lançamento: 04/14/09 06:17:00

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


[pgbr-geral] Pqnotifies

2009-04-13 Por tôpico Marcelo Giovane
Olá pessoal,
onde obter o fonte da função PQnotifies do Postgresql.

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


[pgbr-geral] PQnotifies

2009-04-08 Por tôpico Marcelo Giovane
Olá pessoal, estou fazendo a integração e aplicativo ao Postgresql através da 
libpq.
Estou precisando obter o retorno de notify para tratamento.
A função abaixo, elaborada com o xharbour e compilada com o bcc deveria fazer 
isso.
Contudo, na execução em Windows, ela não retorna o membro relname da estrtutura 
e aborta a aplicação.
Se determino o retorno da estrutura notify ( hb_retc(notify) ), aparecem uns 
caracteres estranhos, de tamanho totalmente diferente do nome da notificação 
que deveria retornar.
O que PQnotfies retorna extamente.
Obrigado.

MarceloG


HB_FUNC (PQNOTIFIES)
{
   PGnotify *notify;
   PQconsumeInput (( PGconn * ) hb_parptr(1));
   notify = PQnotifies(( PGconn * ) hb_parptr(1));
   hb_retc(notify-relname);
   PQfreemem(notify);
}___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] PostgreSQL x MySQL

2009-03-12 Por tôpico Marcelo Giovane
Olá Euler,
estou começando com o PostgreSql e, como muito muitos, vim do Mysql.
Gostei das suas explicações.
Mas sabe como é né, o Mysql tem o jeitão SQL dele.
Será que pode me ajudar na troca de alguma rotinas, ou melhor, na adaptação das 
mesmas para o PostgreSql.
Por exemplo, tenho uma rotina que faz a atualização automática de dados se 
verificado que num espaço de tempo x, a tabela sofreu alteração.
Isso era fácil no Mysql porque o comando show já apresentava um camplo com o 
update da tabela.
O PostgreSql tem essa funcionalidade?
Como obter informações quanto a data da criação da tabela e/ou a data em foi 
atualizada sem ter que fazer o controle interno com um campo dentro da tabela?
Desde já, obrigado.

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