我现在开始使用PostgreSQL了,我想知道我是否可以安排任务/工作(在SQL中)由db来完成,而不必使用pgAgent。
我正在开发一个系统,管理员需要安排晋升。例如,从X天到Y天有一个Z促销。这必须在将命令发送到数据库的页面上的系统接口(UI)中完成。我所需要的只是在适当的时候执行SQL命令。
我已经在网上搜索过了,我发现的都是关于pgAgent或者如何配置它。我不想要。据我所见,pgAgent只能通过pgAdmin接口工作,而系统管理员不能在pgAdmin上指手画脚。或者不是(我是PostgreSQL新手).?
在pgAdmin中,在创建新作业时,我还单击了“帮助”按钮,但除了通过pgAdmin接口设置所有内容外,没有太多内容。
有办法做到这一点吗?还有其他选择吗?
感谢您的关注。
发布于 2016-05-10 05:56:29
PgAgent不仅通过PgAdmin工作,而且PgAdmin是与PgAgent表交互的唯一(当前) GUI。PgAgent是一种只与自己的一组表交互的服务,任何软件都可以修改和报告这些表,而不仅仅是PgAdmin。PgAdmin可以非常有用,因为它实现了多步作业,结果存储在数据库中,可以进行查询或定制报告。
有许多选择,从开发您自己的类似PgAgent的工具,到在Linux/Unix/Cygwin中使用cron或Windows中的计划任务。
例如,在Linux中,可以在cron中通过在/etc/cron.daily/中添加一个批处理文件来实现每日表导出,如
sudo -i -u postgres psql -c "copy foo.bar to '/var/lib/dbexports/foo-bar.csv' with csv header" foo_db或者在/etc/cron.d/中的一个文件中专门在5:30导出该文件,如
30 5 * * 1 postgres psql -c "copy foo.bar to '/var/lib/dbexports/foo-bar.csv' with csv header" foo_db或类似于任何用户的crontab。
https://stackoverflow.com/questions/37122803
复制相似问题