De crontab (5) :
The ''sixth'' field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the crontab file. Percent-signs (%) in the command, unless escaped with backslash (), will be changed into newline characters, and all data after the first % will be sent to the command as standard input. There is no way to split a single command line onto multiple lines, like the shell's trailing "\".
Basta adicionar barras invertidas antes dos sinais%:
00 08 * * * psql -Uuser database < query.sql | mail [email protected] -s "query for 'date +\%Y-\%m-\%dZ\%I:\%M'"