我们正在尝试在 PostgreSQL 中配置定期作业。为此,我们在运行 Postgres 9.6 的 Linux 机器上安装了citusdata pg_cron项目。
系统信息:
按照pg_cron存储库中的说明,我们在postgresql.conf
以下配置中进行设置:
shared_preload_libraries = 'pg_cron'
cron.database_name = 'our db_name'
Run Code Online (Sandbox Code Playgroud)
然后,db_name
我们创建了 EXTENSION pg_cron
CREATE EXTENSION pg_cron;
Run Code Online (Sandbox Code Playgroud)
我们安排了我们的第一个 Postgres 工作:
SELECT cron.schedule('45 12 * * *', $$CREATE TABLE testCron AS Select 'Test Cron' as Cron$$);
Run Code Online (Sandbox Code Playgroud)
因此,jobid 1 被创建并列在表中cron.job
。
我们预计在 12:45 将启动计划作业的命令。但什么也没有发生。
该testCron
表未创建,我们在任何日志中都没有踪迹。
我们还定义了 LOG_FILE/usr/src/pg_cron/include/pathnames.h …