Verifique o tipo de dados das colunas e seu fuso horário . Você pode estar confundindo
timestamp with time zone
e timestamp
. Parece que você tem
timestamp
na sua tabela, mas consulte com timestamptz
. Dessa forma, tudo depende do fuso horário local da sua sessão (que tem como padrão o fuso horário do servidor se não for especificado de outra forma). Alterne ambos para
timestamptz
, ou timestamp
se os fusos horários forem completamente irrelevantes para você. (Em caso de dúvida, use timestamptz
.) Não é a causa do seu problema, mas sua consulta provavelmente deve ser:
SELECT id, text, category, starttime, endtime, creation
FROM entries
WHERE starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
AND starttime < timestamp '2013-03-22'
ORDER BY id
a BETWEEN x AND y
é quase sempre errado para timestamp
tipos devido a números fracionários! O que sua consulta faria com starttime = '2013-03-21T23:59:59.123+00'
?