2016-08-08 5 views
0

レコード挿入後24時間後にトリガーを実行しようとしていますが、これはどのように行えますか?助けてくださいレコード挿入後24時間後にpostgresトリガを実行しますか?

あなたが知っていない場合は、彼の電子メールを検証する、彼のアカウントは削除されます。

cronなどを使用しないでください。

Postgres db。 PostgreSQL

+0

すべてのベスト?それは最高の解決策です – Borys

答えて

0

これは、特定の時間にSQLコマンドを実行するようにスケジュールするのに役立ちます。

PGagent

これは、私がテストされ、あなたがPGagentでこれを使用することができますコマンドです。

delete from email_tbl where email_id in(select email_id from email_tbl 
where timestamp < now() - '1 day'::interval); 

私が使用したテストデータです。

CREATE EXTENSION citext; 

CREATE DOMAIN email_addr AS citext 
CHECK(
VALUE ~ '^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+[.][A-Za-z]+$' 
); 


CREATE TABLE email_tbl (
email_id SERIAL PRIMARY KEY, 
email_addr email_addr NOT NULL UNIQUE, 
timestamp timestamp default current_timestamp 
); 

そして、ここにあるいくつかのテストデータ

insert into email_tbl (email_addr) values('[email protected]') 

insert into email_tbl (email_addr,timestamp) 
values('[email protected]','2015-07-15 00:00:00'::timestamp) 

select * from email_tbl where timestamp < now() - '1 day'::interval 

なぜあなたはcronを使用しません

関連する問題