PG_JOB
PG_JOB系统表存储用户创建的定时任务的任务详细信息,定时任务线程定时轮询pg_job系统表中的时间,当任务到期会触发任务的执行,并更新pg_job表中的任务状态。该系统表属于Shared Relation,所有创建的job记录对所有数据库可见。
表 1 PG_JOB字段
| 名称 | 类型 | 描述 |
|---|---|---|
| oid | oid | 行标识符(隐含属性,必须明确选择)。 |
| job_id | bigint | 作业ID,主键,是唯一的(有唯一索引) |
| current_postgres_pid | bigint | 如果当前任务已被执行,那么此处记录运行此任务的postgres线程ID。默认为 -1,表示此任务未被执行过。 |
| log_user | name | 创建者的UserName |
| priv_user | name | 作业执行者的UserName |
| dbname | name | 标识作业要在哪个数据库执行的数据库名称 |
| node_name | name | 标识当前作业是在哪个数据库主节点上创建和执行 |
| job_status | "char" | 当前任务的执行状态,取值范围: ('r', 's', 'f', 'd'),默认为's',取值含义: Status of job step: r=running, s=successfully finished, f=job failed, d=disable 当job连续执行失败16次,会将job_status自动设置为失效状态'd',后续不再执行该job。 注: 当用户将定时任务关闭(即: guc参数job_queue_processes为0时),由于监控job执行的线程不会启动,所以该状态不会根据job的实时状态进行设置,用户不需要关注此状态。只有当开启定时任务功能(即: guc参数job_queue_processes为非0时),系统才会根据当前job的实时状态刷新该字段值。 |
| start_date | timestamp without time zone | 作业第一次开始运行时间,时间精确到毫秒。 |
| next_run_date | timestamp without time zone | 下次定时执行任务的时间,时间精确到毫秒。 |
| failure_count | smallint | 失败计数,作业连续执行失败16次,不再继续执行。 |
| interval | text | 作业执行的重复时间间隔。 |
| last_start_date | timestamp without time zone | 上次运行开始时间,时间精确到毫秒。 |
| last_end_date | timestamp without time zone | 上次运行的结束时间,时间精确到毫秒。 |
| last_suc_date | timestamp without time zone | 上次成功运行的开始时间,时间精确到毫秒。 |
| this_run_date | timestamp without time zone | 正在运行任务的开始时间,时间精确到毫秒。 |
| nspname | name | 标识作业执行时的schema的名称。 |
| job_name | text | DBE_SCHEDULER定时任务专用,定时任务名称。 |
| end_date | timestamp without time zone | DBE_SCHEDULER定时任务专用,定时任务失效时间,时间精确到毫秒。 |
| enable | boolean | DBE_SCHEDULER定时任务专用,定时任务启用状态: - true:启用 - false:未启用 |
| failure_msg | text | 最新一次执行任务报错信息。 |
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




