2017-04-24 19 views
0

私は同じスキーマを持つテーブルXと別のテーブルYを持っています。レコードがXに挿入されると、24時間後に自動的にYに移動する必要があります。 これをポストグルでどのように達成できますか?postgres - 24時間の挿入後にあるテーブルから別のテーブル(同じスキーマ)にレコードを移動する

+0

を私は挿入から24時間後に別のテーブルからのレコードを移動することは非現実的だと思うあなたはX.expiry_dateを持っており、フィルタリングすることができます。現在の日付がX.expiry_dateを上回っている場合は行を作成し、実行時にその条件をチェックしてYをYに移動するジョブをスケジュールする。cron、scheduler、...またはPostgres拡張子を使用してジョブをスケジュールすることができます[likeこの1つ](https://github.com/citusdata/pg_cron/)。 – andreim

答えて

3

Postgresにはこのような自動化機能がないため、外部ツールを使用する必要があります。例えば、smth like、ということでしょうスクリプトを実行するcronジョブます pslq -d dbname -c "begin; with d as (delete from x where ts < now() - '1 day'::interval returning *) insert into yselect * from d;; end;

関連する問題