[pgbr-geral] identificando tabelas pelo numero

2010-09-02 Por tôpico Jorge Luiz
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)?

2010-09-02 Por tôpico Eloi Ribeiro
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)?

2010-09-02 Por tôpico Fabrízio de Royes Mello
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

2010-09-02 Por tôpico Fabrízio de Royes Mello
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)?

2010-09-02 Por tôpico Eloi Ribeiro
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

2010-09-02 Por tôpico Jorge Luiz
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

2010-09-02 Por tôpico JotaComm
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

2010-09-02 Por tôpico Fabrízio de Royes Mello
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

2010-09-02 Por tôpico Beto Lima
 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

2010-09-02 Por tôpico Beto Lima

 --

 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

2010-09-02 Por tôpico Fabrízio de Royes Mello
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

2010-09-02 Por tôpico Osvaldo Kussama
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

2010-09-02 Por tôpico Victor Hugo
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

2010-09-02 Por tôpico Allan Carvalho
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-09-02 Por tôpico Leonardo Cezar
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

2010-09-02 Por tôpico Beto Lima
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?

2010-09-02 Por tôpico Euler Taveira de Oliveira
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?

2010-09-02 Por tôpico Fernando Avena
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