[pgbr-geral] identificando tabelas pelo numero
Ola Pessoal, Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Alguem poderia me ajudar, por favor. Obrigado. ___ 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 converter DOY em data (AAAA-MM-DD)?
Bem respondo a mim mesmo. Como tinha outro campo (tai93) com 'Seconds counted from UTC midnight Jan. 1, 1993' fiz: UPDATE tabela SET date = CAST(tai93/86400 AS INT) + CAST('1993-01-01' AS DATE); E já tenho a data no formato desejado. Obrigado, Ciao, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com 2010/9/2 Eloi Ribeiro eloi.ribe...@gmail.com Ola! Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j' (smallint) com o dia do ano, de 1 a 366. Como faço para passar a data ISO 8601 (-MM-DD)? Obrigado pela atenção. Cumprimentos, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Como converter DOY em data (AAAA-MM-DD)?
Em 2 de setembro de 2010 05:56, Eloi Ribeiro eloi.ribe...@gmail.comescreveu: Ola! Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j' (smallint) com o dia do ano, de 1 a 366. Como faço para passar a data ISO 8601 (-MM-DD)? Tente: postg...@bdteste=# select extract(doy from current_date); date_part --- 245 (1 row) postg...@bdteste=# select to_date('2010-245', '-DDD'); to_date 2010-09-02 (1 row) -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] identificando tabelas pelo numero
Em 2 de setembro de 2010 09:21, Jorge Luiz jorgesanfel...@gmail.comescreveu: Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Crie a função abaixo na sua base de dados: create or replace function fc_procura_oid(oid) returns boolean as $$ declare xOid alias for $1; lRetorno boolean default false; lAchou boolean default false; rTabelas record; sExecuta text; begin for rTabelas in select pg_class.relname, 'SELECT EXISTS(SELECT oid FROM '||quote_ident(nspname)||'.'||quote_ident(relname)||' WHERE oid = ' as sql_to_search from pg_attribute inner join pg_class on pg_class.oid = pg_attribute.attrelid inner join pg_namespace on pg_namespace.oid = pg_class.relnamespace where pg_attribute.attname = 'oid' and pg_class.relkind = 'r' and pg_namespace.nspname = 'pg_catalog' order by 1 loop sExecuta := rTabelas.sql_to_search || xOid || ')'; execute sExecuta into lAchou; if lAchou then raise info 'OID % encontrado na tabela %', xOid, rTabelas.relname; lRetorno := true; end if; end loop; return lRetorno; end; $$ language plpgsql; Utilize assim: SELECT fc_procura_oid(307497757); -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ 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 converter DOY em data (AAAA-MM-DD)?
On Thu, Sep 2, 2010 at 14:24, Fabrízio de Royes Mello fabriziome...@gmail.com wrote: Em 2 de setembro de 2010 05:56, Eloi Ribeiro eloi.ribe...@gmail.comescreveu: Ola! Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j' (smallint) com o dia do ano, de 1 a 366. Como faço para passar a data ISO 8601 (-MM-DD)? Tente: postg...@bdteste=# select extract(doy from current_date); date_part --- 245 (1 row) postg...@bdteste=# select to_date('2010-245', '-DDD'); to_date 2010-09-02 (1 row) Boa, funciona estupendamente, terei em conta esta dica. Obrigado! Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] identificando tabelas pelo numero
Obrigado Fabrízio, Só pra entender o que aconteceu. O meu backup fisico hoje demorou mais de 1 hora alem do normal, isso porque no dia 30/08, vario arquivos novos foram gerados na pasta /data/base/16396/, tipo, uns 2500 arquivos. Ai eu queria descobrir o que gerou isso. Tambem nao sei se existe um modo de diminuir a quantidade de arquivos na pasta /data/base/ referente a uma tabela, tipo, dando um vacuum full , etc valeu. Fabrízio de Royes Mello escreveu: Em 2 de setembro de 2010 09:21, Jorge Luiz jorgesanfel...@gmail.com mailto:jorgesanfel...@gmail.com escreveu: Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Crie a função abaixo na sua base de dados: create or replace function fc_procura_oid(oid) returns boolean as $$ declare xOid alias for $1; lRetorno boolean default false; lAchou boolean default false; rTabelas record; sExecuta text; begin for rTabelas in select pg_class.relname, 'SELECT EXISTS(SELECT oid FROM '||quote_ident(nspname)||'.'||quote_ident(relname)||' WHERE oid = ' as sql_to_search from pg_attribute inner join pg_class on pg_class.oid = pg_attribute.attrelid inner join pg_namespace on pg_namespace.oid = pg_class.relnamespace where pg_attribute.attname = 'oid' and pg_class.relkind = 'r' and pg_namespace.nspname = 'pg_catalog' order by 1 loop sExecuta := rTabelas.sql_to_search || xOid || ')'; execute sExecuta into lAchou; if lAchou then raise info 'OID % encontrado na tabela %', xOid, rTabelas.relname; lRetorno := true; end if; end loop; return lRetorno; end; $$ language plpgsql; Utilize assim: SELECT fc_procura_oid(307497757); -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] identificando tabelas pelo numero
Olá, Em 2 de setembro de 2010 09:21, Jorge Luiz jorgesanfel...@gmail.comescreveu: Ola Pessoal, Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Você pode fazer o seguinte: SELECT oid,datname FROM pg_database; --Por exemplo: 16396 - producao Conecte-se ao banco producao e faça o seguinte: SELECT relname FROM pg_class WHERE relfilenode=307497757; Alguem poderia me ajudar, por favor. Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral []s -- JotaComm http://jotacomm.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] identificando tabelas pelo numero
Em 2 de setembro de 2010 09:42, Jorge Luiz jorgesanfel...@gmail.comescreveu: Só pra entender o que aconteceu. O meu backup fisico hoje demorou mais de 1 hora alem do normal, isso porque no dia 30/08, vario arquivos novos foram gerados na pasta /data/base/16396/, tipo, uns 2500 arquivos. Ai eu queria descobrir o que gerou isso. Teria de verificar se esses arquivos não são os TOAST [1] e que na verdade são partes de uma tabela grande... Tambem nao sei se existe um modo de diminuir a quantidade de arquivos na pasta /data/base/ referente a uma tabela, tipo, dando um vacuum full , etc Isso vai depender muito do número de tuplas mortas existente em suas relações... [1] http://www.postgresql.org/docs/8.4/interactive/storage-toast.html -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Digest pgbr-geral, volume 21, assunto 4
coluna To: Alexsander Rosa alexsander.r...@gmail.com Cc: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktinnh0rxdrfe2qxg12nfchkitao-7uozbqsyo...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Em 1 de setembro de 2010 16:25, Alexsander Rosa alexsander.r...@gmail.comescreveu: Poderia ser uma diferença entre um max() e um min() numa subquery. Poderia sim, mas vai depender do problema que quer se resolver... até agora fizemos apenas sugestões baseado numa vaga explicação... se observarmos o último exemplo que citei usei uma subquery para somar os intervalos de tempo dia a dia, mas será essa a solução do problema??? Fala ai Beto, qual a sua real necessidade Que problema vc precisa resolver??? -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/7e432e43/attachment-0001.htm -- Message: 3 Date: Wed, 1 Sep 2010 16:47:50 -0300 From: Leonardo Cezar lhce...@gmail.com Subject: [pgbr-geral] slides sobre novidades da versão 9.0 To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktikjzq0cojahxn4qvsiwjucbtaajhebzyosko...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Seguem slides de uma apresentação que a Dextra fez na Unicamp sobre as novidades da versão 9.0 do postgres. http://www.slideshare.net/dextra/dextra-novidades-postgresql-90 -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com -- Message: 4 Date: Wed, 1 Sep 2010 17:05:53 -0300 From: Alisson Viegas li...@acsiv.com.br Subject: [pgbr-geral] pg_dump -W To: PostgreSQL pgbr-geral@listas.postgresql.org.br Message-ID: 020b01cb4a11$16e3fa10$44abee...@acsiv.com.br Content-Type: text/plain; charset=iso-8859-1 Boa tarde, pessoal. Não sei se esta pergunta já foi respondida, pois eu não estava recebendo e-mails da lista. Eu uso os seguintes parâmetros para backup com pg_dump: --host host --port 5432 --username agente --format custom --blobs --verbose --file nomedoarquivo Se uma pessoa tem o arquivo de backup em mãos, ela consegue restaurá-lo em outra máquina sem dificuldade alguma. Já que o mesmo não pede senha. Tentei usar o parâmetro –W mas deu na mesma. Há alguma forma de colocar uma senha neste backup? At.te, Alisson Viegas Acsiv Sistemas -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/6c1781f8/attachment-0001.htm -- Message: 5 Date: Thu, 2 Sep 2010 10:56:27 +0200 From: Eloi Ribeiro eloi.ribe...@gmail.com Subject: [pgbr-geral] Como converter DOY em data (-MM-DD)? To: Lista PostgreSQL Brasil pgbr-geral@listas.postgresql.org.br Message-ID: aanlktimx8ed+vxuhaq_c12nyaoo+oe18jsh5u9drn...@mail.gmail.comaanlktimx8ed%2bvxuhaq_c12nyaoo%2boe18jsh5u9drn...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Ola! Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j' (smallint) com o dia do ano, de 1 a 366. Como faço para passar a data ISO 8601 (-MM-DD)? Obrigado pela atenção. Cumprimentos, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100902/1ddc5cbb/attachment-0001.htm -- Message: 6 Date: Thu, 02 Sep 2010 09:21:22 -0300 From: Jorge Luiz jorgesanfel...@gmail.com Subject: [pgbr-geral] identificando tabelas pelo numero To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: 4c7f96c2.3000...@gmail.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Ola Pessoal, Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Alguem poderia me ajudar, por favor. Obrigado. -- Message: 7 Date: Thu, 2 Sep 2010 14:23:36 +0200 From: Eloi Ribeiro eloi.ribe...@gmail.com Subject: Re: [pgbr-geral] Como converter DOY em data (-MM-DD)? To: Lista PostgreSQL Brasil pgbr-geral@listas.postgresql.org.br Message-ID: aanlktikip--n7jnx8eor66u51t15tdm9xhlf9-kvt...@mail.gmail.com Content-Type: text
[pgbr-geral] Re Re: Somar horas tendo somente uma coluna
-- Message: 2 Date: Wed, 1 Sep 2010 16:32:14 -0300 From: Fabrízio de Royes Mello fabriziome...@gmail.com Subject: Re: [pgbr-geral] Somar horas tendo somente uma coluna To: Alexsander Rosa alexsander.r...@gmail.com Cc: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktinnh0rxdrfe2qxg12nfchkitao-7uozbqsyo...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Em 1 de setembro de 2010 16:25, Alexsander Rosa alexsander.r...@gmail.comescreveu: Poderia ser uma diferença entre um max() e um min() numa subquery. Poderia sim, mas vai depender do problema que quer se resolver... até agora fizemos apenas sugestões baseado numa vaga explicação... se observarmos o último exemplo que citei usei uma subquery para somar os intervalos de tempo dia a dia, mas será essa a solução do problema??? Fala ai Beto, qual a sua real necessidade Que problema vc precisa resolver??? -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/7e432e43/attachment-0001.htm -- Message: 3 Date: Wed, 1 Sep 2010 16:47:50 -0300 From: Leonardo Cezar lhce...@gmail.com Subject: [pgbr-geral] slides sobre novidades da versão 9.0 To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktikjzq0cojahxn4qvsiwjucbtaajhebzyosko...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 Seguem slides de uma apresentação que a Dextra fez na Unicamp sobre as novidades da versão 9.0 do postgres. http://www.slideshare.net/dextra/dextra-novidades-postgresql-90 -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com -- Message: 4 Date: Wed, 1 Sep 2010 17:05:53 -0300 From: Alisson Viegas li...@acsiv.com.br Subject: [pgbr-geral] pg_dump -W To: PostgreSQL pgbr-geral@listas.postgresql.org.br Message-ID: 020b01cb4a11$16e3fa10$44abee...@acsiv.com.br Content-Type: text/plain; charset=iso-8859-1 Boa tarde, pessoal. Não sei se esta pergunta já foi respondida, pois eu não estava recebendo e-mails da lista. Eu uso os seguintes parâmetros para backup com pg_dump: --host host --port 5432 --username agente --format custom --blobs --verbose --file nomedoarquivo Se uma pessoa tem o arquivo de backup em mãos, ela consegue restaurá-lo em outra máquina sem dificuldade alguma. Já que o mesmo não pede senha. Tentei usar o parâmetro –W mas deu na mesma. Há alguma forma de colocar uma senha neste backup? At.te, Alisson Viegas Acsiv Sistemas -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100901/6c1781f8/attachment-0001.htm -- Message: 5 Date: Thu, 2 Sep 2010 10:56:27 +0200 From: Eloi Ribeiro eloi.ribe...@gmail.com Subject: [pgbr-geral] Como converter DOY em data (-MM-DD)? To: Lista PostgreSQL Brasil pgbr-geral@listas.postgresql.org.br Message-ID: aanlktimx8ed+vxuhaq_c12nyaoo+oe18jsh5u9drn...@mail.gmail.comaanlktimx8ed%2bvxuhaq_c12nyaoo%2boe18jsh5u9drn...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Ola! Numa tabela tenho o campo 'year' (smallint) com o ano e o campo 'day_j' (smallint) com o dia do ano, de 1 a 366. Como faço para passar a data ISO 8601 (-MM-DD)? Obrigado pela atenção. Cumprimentos, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100902/1ddc5cbb/attachment-0001.htm -- Message: 6 Date: Thu, 02 Sep 2010 09:21:22 -0300 From: Jorge Luiz jorgesanfel...@gmail.com Subject: [pgbr-geral] identificando tabelas pelo numero To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: 4c7f96c2.3000...@gmail.com Content-Type: text/plain; charset=ISO-8859-1; format=flowed Ola Pessoal, Existe algum tipo de select nos catalogos de sistema do postgresql onde consigo identificar o que significa o numero dentro da basta data/base/ Exemplo: Eu sei que o numero /data/base/16396 é referente a minha base de dados principal, porem, preciso saber o que é o /data/base/16396/307497757 Tipo, sei que deve ser uma tabela ou indice dessa base, porem, precisava saber com certeza a qual se refere esse numero. Alguem poderia me ajudar, por favor. Obrigado. -- Message: 7 Date: Thu, 2 Sep 2010 14:23:36 +0200 From: Eloi Ribeiro eloi.ribe...@gmail.com Subject: Re: [pgbr-geral] Como converter DOY em data (-MM-DD
Re: [pgbr-geral] Re Re: Somar horas tendo somente uma coluna
Em 2 de setembro de 2010 10:24, Beto Lima betol...@gmail.com escreveu: Em 2 de setembro de 2010 10:22, Beto Lima betol...@gmail.com escreveu: Fabrizio e Victor Seria quase isso. Veja bem: select data_sessao::date, max(data_sessao) - min(data_sessao) from sessao where id_usuario = 2 group by 1; os valores são esses: 2010-09-02 10:01:00 2010-09-02 10:11:00 2010-09-02 10:15:00 2010-09-02 10:20:00 essa consulta me tráz assim: 2010-09-02 00:19:00 Ele está pegando o máximo (10:20:00) e diminuindo do mínimo (10:01:00). Eu queria que o resultado fosse: 00:15:00 10:01:00 até 10:11:00 daria 10 minutos e 10:15:00 até 10:20:00 daria 5 minutos. Somando daria 15 minutos. Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a linha da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que é de 4 minutos... Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso sequencialmente creio que seja mais indicado escrever uma pequena PL para resolver. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Digest pgbr-geral, volume 21, assunto 4
Em 2 de setembro de 2010 10:22, Beto Lima betol...@gmail.com escreveu: Fabrizio e Victor Seria quase isso. Veja bem: select data_sessao::date, max(data_sessao) - min(data_sessao) from sessao where id_usuario = 2 group by 1; os valores são esses: 2010-09-02 10:01:00 2010-09-02 10:11:00 2010-09-02 10:15:00 2010-09-02 10:20:00 essa consulta me tráz assim: 2010-09-02 00:19:00 Ele está pegando o máximo (10:20:00) e diminuindo do mínimo (10:01:00). Eu queria que o resultado fosse: 00:15:00 10:01:00 até 10:11:00 daria 10 minutos e 10:15:00 até 10:20:00 daria 5 minutos. Somando daria 15 minutos. Reforço o pedido de que não responda a mensagens digest. Você bagunça o histórico da lista. Como você determina que 10:11:00 é um término, e não um início de intervalo? Apenas pela posição relativa? Creio que com o uso de Window Functions você possa conseguir o resultado desejado. http://www.postgresql.org/docs/current/interactive/tutorial-window.html Osvaldo ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Re Re: Somar horas tendo somente uma coluna
Concordo plenamente com o Fabrizio, Remodele a sua tabela desta forma.. id, data_sessao_ini, data_sesssao_fim, id_usuario Aí daria para fazer isso, tendo como base um horário de inicio e fim. []´s vh Em 2 de setembro de 2010 10:37, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: Em 2 de setembro de 2010 10:24, Beto Lima betol...@gmail.com escreveu: Em 2 de setembro de 2010 10:22, Beto Lima betol...@gmail.com escreveu: Fabrizio e Victor Seria quase isso. Veja bem: select data_sessao::date, max(data_sessao) - min(data_sessao) from sessao where id_usuario = 2 group by 1; os valores são esses: 2010-09-02 10:01:00 2010-09-02 10:11:00 2010-09-02 10:15:00 2010-09-02 10:20:00 essa consulta me tráz assim: 2010-09-02 00:19:00 Ele está pegando o máximo (10:20:00) e diminuindo do mínimo (10:01:00). Eu queria que o resultado fosse: 00:15:00 10:01:00 até 10:11:00 daria 10 minutos e 10:15:00 até 10:20:00 daria 5 minutos. Somando daria 15 minutos. Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a linha da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que é de 4 minutos... Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso sequencialmente creio que seja mais indicado escrever uma pequena PL para resolver. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ 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
[pgbr-geral] Ajuda com HA em PostgreSQL
Boa tarde prezados. Esta é a minha primeira mensagem para a lista, peço desculpas se o assunto já foi amplamente debatido, acredito que o que preciso é bem simples, mas não estou conseguindo resolver. Consegui colocar dois servidores funcionamento corretamente, com Warm Stand By + Heartbeat + HAPM + DRBD8 + OCFS2, tomei como base os tutoriais de João Cosme[1] e Douglashx[2]. Configurei o HAPM checando a porta 5432 (PostgreSQL) do servidor, se indisponível, ele mata o processo do Heartbeat, fazendo assim com que a máquina Slave entre em produção. Já configurei o Heartbeat com prioridades de servidores, ou seja, quando o servidor principal volta, o escravo volta a função de stand by. Porém, falta resolver um pequeno detalhe, seguindo o tutorial do João Cosme, o servidor Slave só sairá do estado de Stand by quando encontrar o arquivo *trigger.done*, e é ae que estou travado, como fazer com que o arquivo *trigger.done* seja criado automaticamente quando o servidor primário falhar, escrevi um shell script para pingar o servidor primário a cada minuto, se o servidor primário não responder ele cria o trigger.done, porém, se for apenas uma falha da base de dados do servidor primário, ele continuará ativo, apenas o processo do Heartbeat será finalizado pelo HAPM. Agradeço desde já para quem puder me ajudar. Atenciosamente, Allan Carvalho [1]: http://joaocosme.wordpress.com/2009/10/30/ha-em-postgresql-warm-stand-by-heartbeat-hapm/ [2]: http://www.vivaolinux.com.br/artigo/Alta-disponibilidade-com-Debian-Lenny-+-Heartbeat-+-DRBD8-+-OCFS2-+-MONIT-+-LVS/ ___ 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 HA em PostgreSQL
2010/9/2 Allan Carvalho alla...@gmail.com: Porém, falta resolver um pequeno detalhe, seguindo o tutorial do João Cosme, o servidor Slave só sairá do estado de Stand by quando encontrar o arquivo *trigger.done*, e é ae que estou travado, como fazer com que o arquivo *trigger.done* seja criado automaticamente quando o servidor primário falhar, escrevi um shell script para pingar o servidor primário a cada minuto, se o servidor primário não responder ele cria o trigger.done, porém, se for apenas uma falha da base de dados do servidor primário, ele continuará ativo, apenas o processo do Heartbeat será finalizado pelo HAPM. Qual versão do Heartbeat vc está utilizando? Se for a v2 do cluster (crm on), então vc pode escrever um OCF (serviço) que faça isto em shell, python ou coisa assim. Basta vc pedir para o seu script OCF verificar se o postgres está rodando (pg_ctl status seria uma solução) e adicionar a chamada para o OCF em seu cib.xml. Salvo equívoco, já existe um script OCF para verificar se o postgres está rodando na instalação padrão do Linux HA, no entando, no Debian é ncessário fazer alguns ajustes por conta do postgresql-common para que funcione. Porém, se estamos falando da versão 1, então será necessário refazer a lógica de seu Resources, de forma que ele reconheça o status do postmaster. Em tempo, vc é o Allan Carvalho que foi meu coordenador no curso da Anhembi Morumbi? Abraço! -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Re Re: Re Re: Somar horas tendo somente uma coluna
Fabrízio Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a linha da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que é de 4 minutos... Na verdade acho que expliquei mal, você ta certo deveria considerar sim. A idéia é somar os minutos independente de quantas linhas tiver. Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso sequencialmente creio que seja mais indicado escrever uma pequena PL para resolver. Eu tenho ainda mais uma coluna que criei (acao, varchar) onde ficam dois valores: INICIO ou FIM A idéia é: quando o cara inicia uma prova, insere nesta tabela a data e hora do inicio. Ele tem a opção de pausar a prova e voltar quando quiser, amanhã ou depois entendem. Quando ele da a pausa, no caso o FIM, daí salva de novo mais uma linha com a data e hora de saída. E assim por diante, entrada e saída. Com pl eu não sei como se faria isso, eu apenas queria somar os minutos que o cara levou pra completar a prova. Osvaldo mais uma vez desculpa por esquecer do assunto, esqueci mesmo de alterar. foi mal. Como você determina que 10:11:00 é um término, e não um início de intervalo? Apenas pela posição relativa? Eu tenho uma coluna (acao, varchar) onde ficam dois valores: INICIO ou FIM. é ali que sei quando o usuario entrou ou saiu. com o uso de Window eu ainda não sei sobre isso, vou dar uma pesquisada. Victor Remodele a sua tabela Eu até pensei em usar como você disse, só que a idéia seria não usar update na tabela e sim somente inserts. No próprio titulo da mensagem diz: Somar horas tendo somente uma coluna. Mas em último caso posso mudar a idéia e quem sabe funcione né!!! Pra mim não teria problema em fazer como você disse, só que eu teria que fazer verificações na aplicação. (fazer um select pra verificar se o registro já existe e então atualizar a coluna com data de saída). É uma idéia também... Em 2 de setembro de 2010 12:00, pgbr-geral-requ...@listas.postgresql.org.br escreveu: Send pgbr-geral mailing list submissions to pgbr-geral@listas.postgresql.org.br To subscribe or unsubscribe via the World Wide Web, visit https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral or, via email, send a message with subject or body 'help' to pgbr-geral-requ...@listas.postgresql.org.br You can reach the person managing the list at pgbr-geral-ow...@listas.postgresql.org.br When replying, please edit your Subject line so it is more specific than Re: Contents of pgbr-geral digest... Tópicos de Hoje: 1. Re: Re Re: Somar horas tendo somente uma coluna (Fabrízio de Royes Mello) 2. Re: Digest pgbr-geral, volume 21, assunto 4 (Osvaldo Kussama) 3. Re: Re Re: Somar horas tendo somente uma coluna (Victor Hugo) -- Message: 1 Date: Thu, 2 Sep 2010 10:37:42 -0300 From: Fabrízio de Royes Mello fabriziome...@gmail.com Subject: Re: [pgbr-geral] Re Re: Somar horas tendo somente uma coluna To: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br Message-ID: aanlktimfrvh4wrwi2+vjhjh70enw_kxc4dqezdq0=...@mail.gmail.com Content-Type: text/plain; charset=iso-8859-1 Em 2 de setembro de 2010 10:24, Beto Lima betol...@gmail.com escreveu: Em 2 de setembro de 2010 10:22, Beto Lima betol...@gmail.com escreveu: Fabrizio e Victor Seria quase isso. Veja bem: select data_sessao::date, max(data_sessao) - min(data_sessao) from sessao where id_usuario = 2 group by 1; os valores são esses: 2010-09-02 10:01:00 2010-09-02 10:11:00 2010-09-02 10:15:00 2010-09-02 10:20:00 essa consulta me tráz assim: 2010-09-02 00:19:00 Ele está pegando o máximo (10:20:00) e diminuindo do mínimo (10:01:00). Eu queria que o resultado fosse: 00:15:00 10:01:00 até 10:11:00 daria 10 minutos e 10:15:00 até 10:20:00 daria 5 minutos. Somando daria 15 minutos. Mas o que vc quer não é o intervalo linha a linha??? Pq se for linha a linha da tua tabela vc nao considerou o intervalo entre 10:11:00 e 10:15:00 que é de 4 minutos... Pelo pouco que entendi desse modelo vc tem uma linha para inicio e outra para fim... é isso??? Vc não tem algum campo que indica isso??? Um tipo ou um auto-relacionamento??? Pq caso nao tenha e necessite fazer isso sequencialmente creio que seja mais indicado escrever uma pequena PL para resolver. -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello -- Próxima Parte -- Um anexo em HTML foi limpo... URL: http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20100902/33d2106f
Re: [pgbr-geral] ALTER SEQUENCE foo START no 8.3.11 - bug?
Alexsander Rosa escreveu: Só eu achei que isto é um bug -- e perigoso? Hmmm... Se não está documentado, acho que é uma correção de baixa prioridade. De todo modo, a prevenção (aka correção) é bastante simples (não testei) e está em anexo. -- Euler Taveira de Oliveira http://www.timbira.com/ Index: src/backend/commands/sequence.c === RCS file: /a/pgsql/dev/anoncvs/pgsql/src/backend/commands/sequence.c,v retrieving revision 1.149 diff -c -r1.149 sequence.c *** src/backend/commands/sequence.c 1 Jan 2008 19:45:49 - 1.149 --- src/backend/commands/sequence.c 1 Sep 2010 14:02:34 - *** *** 991,996 --- 991,1002 errmsg(conflicting or redundant options))); increment_by = defel; } + else if (!isInit strcmp(defel-defname, start) == 0) + { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg(START option is not implemented))); + } /* * start is for a new sequence restart is for alter ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
[pgbr-geral] Fwd: PostgreSQL 8.4.4 em varias codificações é possível? ou tenho como d efinir codificação?
mandei este dias em agosto estas perguntas...mas acho que não chegou na lista. uma info/ajuda valeu. -- Mensagem encaminhada -- De: Fernando Avena fernando.av...@gmail.com Data: 22 de agosto de 2010 13:26 Assunto: PostgreSQL 8.4.4 em varias codificações é possível? ou tenho como definir codificação? Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br ola todos estou em vps que tem como: $ locale $ locale LANG= LC_CTYPE=POSIX LC_NUMERIC=POSIX LC_TIME=POSIX LC_COLLATE=C LC_MONETARY=POSIX LC_MESSAGES=POSIX LC_PAPER=POSIX LC_NAME=POSIX LC_ADDRESS=POSIX LC_TELEPHONE=POSIX LC_MEASUREMENT=POSIX LC_IDENTIFICATION=POSIX Instalando - configure wget http://wwwmaster.postgresql.org/redir/198/h/source/v8.4.4/postgresql-8.4.4.tar.bz2 tar jxf postgresql-8.4.4.tar.bz2 ./configure --prefix=/opt/pgsql --with-pgport=5800 make sudo make install sudo mkdir /opt/pgsql/data sudo chown -R pgsql /opt/pgsql/data sudo su - pgsql /opt/pgsql/bin/initdb -D /opt/pgsql/data /opt/pgsql/bin/postgres -D /opt/pgsql/data logfile 21 /opt/pgsql/bin/createdb test /opt/pgsql/bin/psql test coloquei no init.d o arquivo pra dar start ok, phppgadmin, e acesso externo ok, tudo pela porta 5800 agora se vou criar um banco, tem que ser na *codificação: SQL_ASCII* criar algo em UTF-8 ou outas não possível, tem como usar outras codificações como? teria instalar outros postgresql e na hora de compilar tem como informar a codificação que quero? ou tenho que mudar o locales do sistema e ai compilar? ou tem como mesmo rodar varias codificações? já vi na net varias coisas, o que mais tem e falar que mudo o locale do sistema pra ai sim rodar no formato que quero. não tem outro jeito? -- Mensagem encaminhada -- De: Fernando Avena fernando.av...@gmail.com Data: 22 de agosto de 2010 18:48 Assunto: Re: PostgreSQL 8.4.4 em varias codificações é possível? ou tenho como definir codificação? Para: Comunidade PostgreSQL Brasileira pgbr-geral@listas.postgresql.org.br pesquisando mais fala em alguns lugares sobre uso do template0 *CREATE DATABASE foh WITH TEMPLATE = template0 ENCODING = 'LATIN1';* *CREATE DATABASE foh WITH TEMPLATE = template0 ENCODING = 'UTF8';*[1] com estas duas linhas acima criou pelo menos o banco no formato desejado. lendo também em outro fórum [2] que ai fala de Você precisa reconstruir o cluster do seu banco com o encoding desejado. Possivelmente, quando você rodou pela primeira vez, usou algum incompatível com o que você deseja. Mas por curiosidade, porque você deseja o LATIN9? Ele, segundo a documentação do PG (22.2.1. Supported Character Setshttp://www.postgresql.org/docs/current/static/multibyte.html#MULTIBYTE-CHARSET-SUPPORTEDé referente à linguagem *LATIN1 with Euro and accents*. O recomendado para o nosso idioma é LATIN1, pois dá total suporte ao nosso idioma, acentos, etc. Você chegou a estudar isso ou foi apenas o que encontrou? De qualquer forma, o comando para reconstruir o cluster é o abaixo, no sistema operacional: # initdb -E LATIN9 /DIR/DO/DATA Se desejar também trocar o locale e as opções específicas de *messages, monetary, numeric e time* como mencionou (21.1. Locale Supporthttp://www.postgresql.org/docs/8.2/static/locale.html), inclua os trechos abaixo no seu comando do initdb: --locale=pt_BR --lc-messages=pt_BR --lc-monetary=pt_BR --lc-numeric=pt_BR --lc-time=pt_BR Ou seja: # initdb -E LATIN9 --locale=pt_BR --lc-messages=pt_BR --lc-monetary=pt_BR --lc-numeric=pt_BR --lc-time=pt_BR /DIR/DO/DATA poderia então rodar um: mdkir /opt/pgsql/data-utf8 /opt/pgsql/bin/initdb -E UTF8 -D /opt/pgsql/data-utf8 e assim o trabalhar com outros formatos no mesmo postgresql? ou isso viagem não dá para fazer? [1] http://www.vivaolinux.com.br/dica/Migracao-de-encoding-no-PostgreSQL-8.3 [2] http://forum.wmonline.com.br/topic/232239-como-alterar-totalmente-a-codificacao-do-postgresql-para-latin9/ [3] http://www.postgresql.org/docs/current/static/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED [4] http://www.postgresql.org/docs/8.2/static/locale.html ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral