显示由自动化框架运行的作业遇到的运行时错误信息。这包括为用户定义的操作设置的作业,以及为管理数据保留、连续聚合、压缩和其他自动化策略而创建的策略运行的作业。有关自动化策略的更多信息,请参阅 策略 部分。

名称类型描述
job_idINTEGER为实现策略而创建的后台作业的 ID
proc_schemaTEXT作业执行的函数或过程的模式名称
proc_nameTEXT作业执行的函数或过程的名称
pidINTEGER执行作业的后台工作进程的进程 ID。在作业崩溃的情况下,此值为 NULL
start_timeTIMESTAMP WITH TIME ZONE作业的开始时间
finish_timeTIMESTAMP WITH TIME ZONE报告错误的时间
sqlerrcodeTEXT与此错误关联的错误代码(如果有)。有关错误代码的完整列表,请参阅 官方 PostgreSQL 文档
err_messageTEXT详细的错误消息

查看最近作业失败的信息

SELECT job_id, proc_schema, proc_name, pid, sqlerrcode, err_message from timescaledb_information.job_errors ;
job_id | proc_schema | proc_name | pid | sqlerrcode | err_message
--------+-------------+--------------+-------+------------+-----------------------------------------------------
1001 | public | custom_proc2 | 83111 | 40001 | could not serialize access due to concurrent update
1003 | public | job_fail | 83134 | 57014 | canceling statement due to user request
1005 | public | job_fail | | | job crash detected, see server logs
(3 rows)

信息视图 timescaledb_information.job_errors 是在内部模式中的表 _timescaledb_internal.job_errors 之上定义的。为了防止此表变得过大,默认情况下启用了一个系统后台作业 Error Log Retention Policy [2],并具有以下配置

id | 2
application_name | Error Log Retention Policy [2]
schedule_interval | 1 mon
max_runtime | 01:00:00
max_retries | -1
retry_period | 01:00:00
proc_schema | _timescaledb_internal
proc_name | policy_job_error_retention
owner | owner must be a user with WRITE privilege on the table `_timescaledb_internal.job_errors`
scheduled | t
fixed_schedule | t
initial_start | 2000-01-01 02:00:00+02
hypertable_id |
config | {"drop_after": "1 month"}
check_schema | _timescaledb_internal
check_name | policy_job_error_retention_check
timezone |

在 Timescale 和 Managed Service for TimescaleDB 上,错误保留作业的所有者是 tsdbadmin。在本地安装中,作业的所有者与扩展的所有者相同。保留作业的所有者可以更改和删除它。例如,所有者可以像这样更改保留间隔

SELECT alter_job(id,config:=jsonb_set(config,'{drop_after}', '"2 weeks"')) FROM _timescaledb_config.bgw_job WHERE id = 2;

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页