2011-11-11 12 views
1

PostgreSQLの時刻に基づいてテーブルを更新する最良の方法は何ですか?PostgreSQLの時刻に基づいて行を更新する

たとえば、次のレコードを持つデータベースがあります。

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

EndTime列に基づいてColumnAの値を更新することは可能ですか?たとえば、サーバの時刻が2:06:01の場合、値123は100だけインクリメントされます。

私はpgagentを使用しようとしましたが、時間がかかるイベント(秒)には適していないと思います。多数の行を持つ。

解決策をご提案できますか?ありがとう。

答えて

2

サーバー時刻によってUPDATEをトリガーする必要があります。
これは、クロノスを作成することです。あなたが選んだ時に、このようなLinuxマシンとスケジュール何かにpostgresユーザ(またはあなたがそれを実行したいものは何でも利用者)としてcrontab -eを起動します。

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

ところで、私は大文字と小文字を使用しないようにアドバイスでしょうPostgreSQLの識別子。

+0

ありがとうございました。 –

関連する問題