Possible to use a field within a query in PostgreSQL?
You can use:

WHERE at &gt;= NOW() - minute * INTERVAL '1 minute' AND at &lt;= NOW()


The Postgres documentation page has similar examples: Date/Time Functions and Operators

The above is not going to be very efficient but you could add an index on at + minute * INTERVAL '1 minute' and then modify the query condition:

WHERE at &lt;= NOW() AND (at + minute * INTERVAL '1 minute') &gt;= NOW()


But it would probably be better if you used a gist index on the range (from when the event starts until it finishes), with something like this:

CREATE INDEX event_start_end_idx ON events 
  USING gist (tsrange(at, at + minute * INTERVAL '1 minute'));


and then use the "contains" (@&gt;) range operator:

WHERE tsrange(at, at + minute * INTERVAL '1 minute'))  @&gt;  NOW()