O Cron não funciona com o mesmo ambiente que um usuário. Se você fizer o seguinte, verá o que quero dizer:
digite env
no terminal e anote a saída.
Em seguida, defina uma tarefa cron como esta e compare a saída com a anterior:
*/5 * * * * env > ~/output.txt
Você perceberá que o problema provavelmente é porque crontab
não tem a mesma variável PATH
do seu usuário. Como uma solução para isso, você pode (do seu usuário postgres) echo $PATH
e então copiar os resultados para a primeira linha do seu crontab (algo assim)
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jbutryn/.local/bin:/home/jbutryn/bin
Ou, se você quiser ser mais específico, basta adicionar o seguinte:
PATH=$PATH:/usr/local/bin
No entanto, normalmente eu sempre coloco o PATH do meu usuário no crontab porque ainda não ouvi uma boa razão para não fazê-lo e você provavelmente vai se deparar com esse problema novamente se não o fizer.