DATE_SUB
is een MySQL-functie die niet bestaat in PostgreSQL.
U kunt (bijvoorbeeld) beide gebruiken;
NOW() - '30 MINUTES'::INTERVAL
...of...
NOW() - INTERVAL '30' MINUTE
...of...
NOW() - INTERVAL '30 MINUTES'
als vervanging.
Een SQLfiddle met alle 3 om mee te testen .