pg_cron - 调度作业后无法查询 cron.job

问题描述 投票:0回答:1

我使用了一个用户——pgadmin,它是rds_superuser的成员, enter image description here

在“postgres”数据库中创建了一个计划作业。

cron.schedule_in_database('my_cron', '*/30 * * * *', 'INSERT INTO test(id) VALUES (2);', 'mydb');

它每 30 分钟将一条记录插入到不同数据库“mydb”中的表“test”中。我可以看到计划的作业正在运行,因为记录正在插入测试表中。

如果我使用 pgadmin 用户连接到 postgres 数据库,我可以查询 cron.job 和 cron.job_run_details 并查看结果。

但是如果我使用 my_user 连接到 postgres 数据库(它不是 rds_superuser 的成员),则针对 cron.jon 和 cron.job_run_details 的选择查询不会返回任何内容。

只是想知道,为什么 cron 作业已计划并运行,但不是 postgres 数据库中的每个用户都可以查看 cron.jon 和 cron.job_run_details 中的数据?

谢谢。

postgresql pg-cron
1个回答
0
投票

医生

为了安全起见,作业在数据库中执行,其中 cron.schedule 函数的调用权限与 当前用户。另外,用户只能看到自己的职位 在 cron.job 表中。

© www.soinside.com 2019 - 2024. All rights reserved.