云数据库 GAUSSDB-ALTER EVENT:示例

时间:2024-11-13 14:46:59

示例

--创建并切换至测试数据库。
gaussdb=# CREATE DATABASE test_event WITH DBCOMPATIBILITY = 'b';
gaussdb=# \c test_event

--创建表。
test_event=# CREATE TABLE t_ev(num int);

--创建一个状态为DISABLE的定时任务,表示此定时任务不开启。
test_event=# CREATE EVENT IF NOT EXISTS event_e1 ON SCHEDULE AT sysdate + interval 5 second DISABLE DO insert into t_ev values(0);

--查询定时任务,ENABLE值为'f'。
test_event=# SHOW EVENTS;
 job_name | schema_name | log_user | priv_user | job_status |     start_date      | interval |      end_date       | enable | failure_msg 
----------+-------------+----------+-----------+------------+---------------------+----------+---------------------+--------+-------------
 event_e1 | public      | omm      | omm       | s          | 2023-11-28 09:10:58 | null     | 3999-12-31 16:00:00 | f      | 
(1 row)

--修改定时任务状态为ENABLE,并五秒后查询表。
test_event=# ALTER EVENT event_e1 ENABLE;
test_event=# SELECT * FROM t_ev;    
 num 
-----
   0
(1 row)

--创建一个每隔一分钟执行一次的定时任务。
test_event=# CREATE EVENT IF NOT EXISTS event_e2 ON SCHEDULE EVERY 1 minute DO insert into t_ev values(1);

--每隔一分钟查询表,会看到新增一条数据。
test_event=# SELECT * FROM t_ev;
 num 
-----
   0
   1
   1
(3 rows)

--修改定时任务中待执行语句并查询表。
test_event=# ALTER EVENT event_e2 DO insert into t_ev values(3);

test_event=# SELECT * FROM t_ev;
 num 
-----
   0
   1
   1
   3
(4 rows)

--修改定时任务名称。
test_event=# ALTER EVENT event_e2 RENAME TO event_ee;

--删除定时任务。
test_event=# DROP EVENT event_ee;

--删除表。
test_event=# DROP TABLE t_ev;

--切换回初始数据库,并删除测试数据库。请用真实的数据库名替换postgres。
test_event=# \c postgres
gaussdb=# DROP DATABASE test_event;
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0479.html