Time interval is returning all records or no records
When doing operations on dates where server timeszone and the date in table  is in different times zones can be counter intuitive ..

here is the query demonstrating what is going on notice that interval can recast to the local time zone... 

This is one of the reason to cast all the date fields to a specific timezone to avoid weirdness like this  

select dd,  
  dd &gt;= timestamp '2019-12-19 18:30'  at time zone 'UTC'  - interval '30   minute', 
  (timestamp '2019-12-19 18:30'  at time zone 'UTC') - interval '30 minute',
  dd &gt;= (timestamp '2019-12-19 18:30'  at time zone 'UTC'  - interval '30 minute')
  at time zone 'UTC',
  ((timestamp '2019-12-19 18:30'  at time zone 'UTC') - interval '30 minute' ) at
    time zone 'UTC'

from (select 
 '2019-12-19 17:46:31'::timestamp as dd 
  union
  select  '2019-12-19 17:48:17'::timestamp 
   union
  select '2019-12-19 17:48:47'::timestamp
   union
  select '2019-12-19 18:09:23'::timestamp
   union
  select '2019-12-19 18:10:11'::timestamp
   union
  select 2019-12-19 18:10:48'::timestamp
   union
  select '2019-12-19 18:11:14'::timestamp) ff

"2019-12-19 18:09:23"   true    "2019-12-19 13:00:00-05"    true    "2019-12-19 18:00:00"
"2019-12-19 17:46:31"   true    "2019-12-19 13:00:00-05"    false   "2019-12-19 18:00:00"
"2019-12-19 17:48:47"   true    "2019-12-19 13:00:00-05"    false   "2019-12-19 18:00:00"
"2019-12-19 18:11:14"   true    "2019-12-19 13:00:00-05"    true    "2019-12-19 18:00:00"
"2019-12-19 18:10:48"   true    "2019-12-19 13:00:00-05"    true    "2019-12-19 18:00:00"
"2019-12-19 18:10:11"   true    "2019-12-19 13:00:00-05"    true    "2019-12-19 18:00:00"
"2019-12-19 17:48:17"   true    "2019-12-19 13:00:00-05"    false   "2019-12-19 18:00:00"