Вы получаете больше, чем обычное число от psql
, и это мешает преобразованию типов, которое вы делаете.Я думаю, что вы можете удалить дополнительный вывод следующим образом:
rateQ=$(PGPASSWORD=xxxxxx psql -t -h xxx.xxx.228.134 -p 5433 -d axx2 -U axxx2bo -q -c "SELECT COUNT(id) FROM quote WHERE f_date = '$curDate'")
rateDemo=$(PGPASSWORD=xxx psql -t -h xx.xxx.42.14 -p 5432 -d axxxo -U acxxxxbo -q -c "SELECT COUNT(id) FROM quote WHERE f_date = '$curDate'")
Обратите внимание на добавление флага -q
:
-q --quiet
Указывает, что psql должен выполнять свою работу спокойно.По умолчанию он печатает приветственные сообщения и различный информационный вывод.Если эта опция используется, ничего из этого не происходит.Это полезно с опцией -c.Это эквивалентно установке переменной QUIET в значение.
https://www.postgresql.org/docs/9.0/app-psql.html
Я также заменил ваши старомодные обратные пометки на $()
и поместил запрос SQL в аргумент.
Если это не заставит замолчать дополнительный вывод, вам также может потребоваться отредактировать ~/.psqlrc
для пользователя, выполняющего задание cron, и убедиться, что в строке \timing
нет.