[pgbr-geral] (sem assunto)
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
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
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
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
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
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
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
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