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
