DATE_SUB
е MySQL функция, която не съществува в PostgreSQL.
Можете (например) да използвате;
NOW() - '30 MINUTES'::INTERVAL
...или...
NOW() - INTERVAL '30' MINUTE
...или...
NOW() - INTERVAL '30 MINUTES'
като заместител.
SQLfiddle с всичките 3 за тестване .