#sql #events #postgresql #time #sql-update
#sql #Мероприятия #postgresql #время #sql-обновление
Вопрос:
Каков наилучший способ обновлять таблицы на основе времени в PostgreSQL?
Например, у меня есть база данных со следующими записями.
ColumnA StartTime EndTime
123 02:05:01 02:06:01
456 02:06:01 02:07:01
Возможно ли обновить значения ColumnA на основе столбца EndTime, возможно, события time? Например, если время сервера равно 2:06:01, то значение 123 будет увеличено на 100.
Я пытался использовать pgagent, но я думаю, что это не подходит для событий, зависящих от времени (секунд), особенно если в базе данных большое количество строк.
Можете ли вы предложить решения для этого. Спасибо.
Ответ №1:
Вы хотите запустить ОБНОВЛЕНИЕ по времени сервера.
Одним из способов было бы создать для этого cronjob. Вызовите crontab -e
от имени пользователя postgres (или любого другого пользователя, которого вы хотите запустить) на компьютере с Linux и запланируйте что-то подобное на время по вашему выбору:
psql mydb -p5432 -c 'UPDATE tbl SET columna = columna 100 WHERE columna = 123'
Кстати, я бы посоветовал не использовать идентификаторы смешанного регистра в PostgreSQL.