У меня есть запрос, который работает на Postgresql 7.4, но не на Postgresql 8.3 с той же базой данных.Оператор не существует: interval> integer
Запрос:
SELECT * FROM login_session WHERE (now()-modified) > timeout;
получает следующее сообщение об ошибке:
ERROR: operator does not exist: interval > integer
LINE 1: ...ELECT * FROM login_session WHERE (now()-modified) > timeout ...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Колонка modified
является timestamp
и timeout
является integer
.
Есть ли какие-то настройки, которые необходимо изменить на сервере?
Я устанавливаю приложение для клиента на новый сервер (ubuntu), поэтому я не могу изменять запросы в приложении.
Это является предпочтительным для версии PGSQL, так как он не требует PgSQL. Я также использовал тайминги «multiply vs 1 sec cast» vs 'concatenate to string and cast'. Эта версия (с 1 сек.) На 30% быстрее – reedstrm 2008-11-18 03:54:50