使用Postgresql为非管理员用户安排作业
问题描述:
有没有一种工具可以让我安排Postgresql查询定期运行而不需要管理员?我正在寻找可以在Mac上运行的解决方案。使用Postgresql为非管理员用户安排作业
我只对数据库的某些模式拥有写入权限(插入,更新,删除),但希望计划每天在这些模式之一上运行的查询。
pgAgent是明显的选择,但我认为我需要成为一名管理员才能使用/安装它。
答
有没有一种工具可以让我安排Postgresql查询定期运行而不用管理员?我正在寻找可以在Mac上运行的解决方案。
使用pg_cron
INSERT INTO cron.job (schedule, command, nodename, nodeport, database, username)
VALUES ('0 4 * * *', 'VACUUM', 'worker-node-1', 5432, 'postgres', 'marco');
这需要你安装扩展为管理员。您可以运行crontab -e
,假设它受OSX支持。如果您想以常规用户身份设置一个任务来运行(即使是非数据库任务)。
可以通过cron或launchd完成调度吗?虽然不推荐使用cron,但仍可以在mac os上运行。推出是推荐的方法 –