2011-11-11 75 views
1

在PostgreSQL中根據時間更新表的最佳方式是什麼?在PostgreSQL中根據時間更新行

例如我有一個數據庫與以下記錄。

ColumnA StartTime EndTime 
123  02:05:01 02:06:01 
456  02:06:01 02:07:01 

是否有可能更新ColumnA的基礎上,結束時間列,可能是時間事件的價值觀?例如,如果服務器的時間是2:06:01那麼值123會增加100.

我試過使用pgagent,但我認爲它不適合時間特定的事件(秒),特別是如果數據庫有很多行。

你能爲此提出解決方案嗎?謝謝。

回答

2

你想按服務器時間觸發UPDATE。
一種方法是創建一個cronjob。調用crontab -e用戶postgres(或者你要運行它的任何用戶)在自己選擇的時間在Linux機器和日程安排是這樣的:

psql mydb -p5432 -c 'UPDATE tbl SET columna = columna + 100 WHERE columna = 123' 

BTW,我會建議不要使用大小寫混合PostgreSQL中的標識符。

+0

謝謝erwin, –

相關問題