DATE_SUB
es una función MySQL que no existe en PostgreSQL.
Puede (por ejemplo) utilizar;
NOW() - '30 MINUTES'::INTERVAL
...o...
NOW() - INTERVAL '30' MINUTE
...o...
NOW() - INTERVAL '30 MINUTES'
como reemplazo.
Un SQLfiddle con los 3 para probar .