Re: ago(interval) → timestamptz

Andreas Karlsson <andreas@proxel.se>

From: Andreas Karlsson <andreas@proxel.se>
To: Laurenz Albe <laurenz.albe@cybertec.at>, Florents Tselai <florents.tselai@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-11-08T08:09:55Z
Lists: pgsql-hackers
On 11/6/25 3:54 PM, Laurenz Albe wrote:
> On Thu, 2025-11-06 at 12:15 +0100, Florents Tselai wrote:
>>> I don't get what users would need ago(interval) -> timestamp. That function would
>>> not make any sense since there is no equivalent to now() which returns timestamp,
>>> simply because a timestamp does not refer to any specific point in time and can
>>> only be interpreted with some additional piece of information like a time zone.
>>
>> I agree that only a timestamptz variant makes sense.
> 
> Lots of people model absolute time using "timestamp without time zone" with the
> silent assumption that all such timestamps are UTC timestamps.  That would be
> the additional piece of information.
> 
> But I admit that that makes date arithmetic less useful.
> 
> There is an equivalent for "now()": localtimestamp

Oh, did not know of that function but using timestamp like this is 
dangerous and a bad idea. Let's not make life easier for people who 
misuse data types. The localtimestamp function should not have been 
introduced in the first place.

Andreas