Just to double check, you are removing the INTERVAL before it, right?
Something like this:
“ id > id_from_timestamp(NOW() AT TIME ZONE 'utc' - {{ time }}::interval , true)”
If that doesn’t work, please send us the Metabase version and DB engine just to be sure.
When executing the query in postgres, SQL variables are sent as JDBC parameters on a parameterized query, so it looks like SELECT INTERVAL $1, and 1 day is sent as the first parameter. Those behave differently from just using a literal like SELECT INTERVAL '1 day'.
I saw that they didn't work and searched for "Parameterized interval postgres" and found this answer that showed the ::interval trick
Thanks for looking into it, I've been trying to use this for a while to setup a drop down for time ranges I use a lot of queries where I was just using a numbers field.