Re: BUG #13670: DST discrepancy between age() and subtraction for timestamptz arguments

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: John Pruitt <jpruitt(at)doozer(dot)com>
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #13670: DST discrepancy between age() and subtraction for timestamptz arguments
Date: 2015-10-09 20:35:27
Message-ID: CAJrrPGfjF6-yK8F++fauocH2mahwH6v4GCCxwQr-0gt0ECtKZQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sat, Oct 10, 2015 at 3:01 AM, John Pruitt <jpruitt(at)doozer(dot)com> wrote:
> On further inspection, an age function that explicitly takes timestamptz
> arguments does in fact exist.
>
> select ns.nspname || '.' || proname || '(' || oidvectortypes(proargtypes)
||
> ')'
> from pg_proc
> inner join pg_namespace ns on (pg_proc.pronamespace = ns.oid)
> where proname = 'age'
> ;
>
> pg_catalog.age(xid)
> pg_catalog.age(timestamp without time zone)
> pg_catalog.age(timestamp with time zone)
> pg_catalog.age(timestamp without time zone, timestamp without time zone)
> pg_catalog.age(timestamp with time zone, timestamp with time zone)
>
> Shouldn't the versions that take timestamp with time zone honor the time
> zone?

Thanks for providing more details and your analysis.
But in function timestamptz_age which accepts timestamptz as arguments has
the following comment in the code.

/*
* Note: we deliberately ignore any difference between tz1 and tz2.
*/

The following mail provides the details of timezone ignorance in age
function.
http://www.postgresql.org/message-id/8907.1101918113@sss.pgh.pa.us

Because of this reason, the age function works similar to timestamp even
if the given input is timestamptz.

Regards,
Hari Babu
Fujitsu Australia

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Kevin Grittner 2015-10-09 21:48:56 Re: BUG #13667: SSI violation...
Previous Message Robert Haas 2015-10-09 19:14:26 Re: Re: [BUGS] BUG #13611: test_postmaster_connection failed (Windows, listen_addresses = '0.0.0.0' or '::')