You need to enable JavaScript to run this app.
导航
日志记录扩展(pg_jobmon)
最近更新时间:2025.04.23 14:25:43首次发布时间:2025.04.23 14:25:43
我的收藏
有用
有用
无用
无用

pg_jobmon 插件为 PostgreSQL 提供了非事务性的事务和函数日志记录机制,用于在事务或函数失败时保留日志信息。即使你的函数或事务因任何原因失败,已记录的日志信息也不会被回滚,从而确保关键日志数据的安全。

注意事项

pg_jobmon 插件仅支持在 PostgreSQL 14 及以上版本的实例中使用。如需使用该插件,请注意在创建实例时选择合适的实例版本。

前提条件

  • pg_partman 插件依赖 dblink 插件。可通过以下语句创建 dblink 插件。

    CREATE EXTENSION dblink;
    -- 配置 dblink 相关参数
    INSERT INTO test_schema.dblink_mapping_jobmon (host, username, pwd) VALUES ('127.***.***.1', 'test_user', 'test@123');
    

创建与删除插件

  • 创建插件
CREATE EXTENSION pg_jobmon;
  • 删除插件
DROP EXTENSION pg_jobmon;

使用插件

创建作业

可以通过以下函数创建作业,为作业创建若干步骤以及更新步骤状态。

-- 创建job以及若干step
select test_schema.add_job('job1');
select test_schema.add_step(1, 'job1_step1');
select  test_schema.sql_step(1,  'job1_step2',  'select pg_sleep(3)');

查看作业

可以通过以下函数查看作业详情:

  • show_job

  • show_job_like

  • show_job_status

  • show_detail

test_db=> -- 查看job
test_db=> select test_schema.show_job('job1');
                                           show_job
----------------------------------------------------------------------------------------------
 (1,test_user,JOB1,"2025-04-17 21:25:09.684233+08","2025-04-17 21:25:13.427808+08",OK,579004)
(1 row)

test_db=> select test_schema.show_job_like('job');
                                        show_job_like
----------------------------------------------------------------------------------------------
 (1,test_user,JOB1,"2025-04-17 21:25:09.684233+08","2025-04-17 21:25:13.427808+08",OK,579004)
(1 row)

test_db=> select test_schema.show_job_status('job1', 'OK');
                                       show_job_status
----------------------------------------------------------------------------------------------
 (1,test_user,JOB1,"2025-04-17 21:25:09.684233+08","2025-04-17 21:25:13.427808+08",OK,579004)
(1 row)

test_db=> select test_schema.show_detail(1);
                                                  show_detail
----------------------------------------------------------------------------------------------------------------
 (1,1,job1_step1,"2025-04-17 21:25:09.696224+08",,,,)
 (1,2,job1_step2,"2025-04-17 21:25:10.38315+08","2025-04-17 21:25:13.416171+08",3.033021,OK,"Rows affected: 1")
(2 rows)

结束作业

-- 结束job
select  test_schema.close_job(1);
select test_schema.check_job_status();