Primeiro, creio que você está um pouco enganado, o PostgreSQL não está
adicionando uma hora. Isso tudo vai depender de como você está inserindo o
registro, veja que o tipo `timestamp WITH time zone` armazena o valor
absoluto, e a conversão ao timezone é feito ao exibir. Dependendo do
formato usado na inserção, pode-se ou não aparecer essa 1 hora a mais no
resultado (difícil dizer sem mais detalhes).

Então Matheus, na verdade "eu não sei" bem como o insert é feito. Eu
realizo a transferência dos dados via PipeLine ( Objeto para este fim da
ferramenta de programação Power Builder ), mas é basicamente ler os dados
de uma fonte de dados e inserir em outra, como uma ferramenta de ETL, porém
sem "T", pois não transformo os dados. E os dados estão no banco PostgreSQL
com 01 na hora, pois quando realizo uma consulta do tipo "SELECT * FROM
tabela WHERE campo_timestampz = '20150701' ", os registros não são
localizados, porém, ao alterar a consulta para "SELECT * FROM tabela WHERE
campo_timestampz >= '20150701' and campo_timestampz < '20150702' " os
resultados são apresentados, e com o campo_timestamp no seguinte formato
"2015-07-01 01:00:00-03".

Eu diria que você deveria urgentemente alterá-los para DATE. Uma etapa mais
"suave" seria alterar para "timestamp", mas eu tentaria DATE somente e
verificaria como a aplicação se comporta, pode ser que não tenha tanta
coisa pra mudar na aplicação.
Ok e concordo. Providenciarei, mas terei muitos testes a fazer, então é uma
solução a longo prazo.


> Como eu já disse, não. Entretanto, dependendo de como você está informando
> os dados, você pode ter essa impressão. Por exemplo, se estiver usando um
> "time zone offset" ao invés do nome:
>
>     postgres=# SELECT '2015-02-01 00:00:00-03:00'::timestamptz; -- errado
>           timestamptz
>     ------------------------
>      2015-02-01 01:00:00-02
>     (1 row)
>
>     postgres=# SELECT '2015-02-01 00:00:00
> America/Sao_Paulo'::timestamptz; -- correto
>           timestamptz
>     ------------------------
>      2015-02-01 00:00:00-02
>     (1 row)
>
Nas minhas aplicações eu não tenho este tipo de casting, nem poderia por
enquanto, pois as aplicações ainda são para SGDB's diferentes. As consultas
são realizadas conforme demonstrei mais acima.

>
>

> Atenciosamente,
> --
> Matheus de Oliveira
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a