Сегодня я обнаружил, что многие из моих производственных баз данных имеют будущую дату для столбца с именем status_update, который устанавливается ТОЛЬКО по now()
функция.
Большинство дат на 8 октября:
Но некоторые из них:
Пожалуйста, кто-нибудь может мне помочь с этим вопросом? Как это могло произойти?
Мое приложение построено на PHP. Текущее время 2014-10-07 17:35:00.
SELECT now()
возвращается 2014-10-07 17:35:56.192627+01
Заранее спасибо.
ОБНОВИТЬ
По моей вине я пропустил pjobdate + current_time
выражение, которое используется для установки значения для status_update. Сожалею.
Вероятно, проблема с часовым поясом:
Смещение часового пояса в PostgreSQL
и попробовать
SELECT current_setting('TIMEZONE');
Это, вероятно, верно для дат 2014-10-08, в будущем они, вероятно, будут исходить из даты, установленной где-то еще. Я хотел бы взглянуть на ВСЕ места, где этот столбец обновляется, триггеры, процедуры, код PHP и т. Д.
Других решений пока нет …