Re: ago(interval) → timestamptz

Quan Zongliang <quanzongliang@yeah.net>

From: Quan Zongliang <quanzongliang@yeah.net>
To: Laurenz Albe <laurenz.albe@cybertec.at>, Florents Tselai <florents.tselai@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-11-04T08:53:39Z
Lists: pgsql-hackers

On 11/4/25 1:55 PM, Laurenz Albe wrote:
> On Mon, 2025-11-03 at 22:36 +0100, Florents Tselai wrote:
>> I realize this will get some "you can easily implement this yourself” pushback,
>> But I keep seeing and writing a lot of WHERE ts > now() - interval '1 day' expressions.
> 
> You can easily implement this yourself...
> Also, there already is something similar in the shape of 'yesterday'::timestamptz.
> Moreover, a good percentage of the users would instead need ago(interval) -> timestamp.
> 
> So I'd say that the added value is marginal, and I personally find
> 
>     current_timestamp - INTERVAL '1' DAY
> 
> more readable and more SQL standard compliant than
> 
>     ago('1 day')
> 
now() - interval '1 day' is merely an example. In fact, we could use any 
time. For example
   now() - interval '10 day 5 hours 21 minutes'
This is beyond the scope of what yesterday() can support.

Therefore, I think this patch can be accepted. Make the user's operation 
more convenient.

--
Quan Zongliang

> Yours,
> Laurenz Albe
>