如何创建 cron 作业来运行 postgres SQL 函数?
我假设我需要做的就是:
创建一个 sql 文件,例如 nameofsqlfile.sql 内容:
perform proc_my_sql_funtion();
将其作为 cron 作业执行。
但是,我不知道需要编写哪些命令才能将此 cron 作业作为指定主机、端口、数据库、用户和用户的 postgres 函数执行。他的密码……?
I assume that all I need to do is to:
Create an sql file e.g. nameofsqlfile.sql contents:
perform proc_my_sql_funtion();
Execute this as a cron job.
However, I don't know the commands that I'd need to write to get this cron job executed as a postgres function for a specified host,port,database, user & his password...?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您只需将 cronjob 视为在指定时间或日期运行 shell 命令即可。
因此,您的首要任务是弄清楚如何运行 shell 命令。
然后你可以将其添加到你的 crontab 中(我建议你使用 crontab -e 以避免破坏东西)
You just need to think of cronjob as running a shell command at a specified time or day.
So your first job is to work out how to run your shell command.
You can then just add this to your crontab (I recommend you use
crontab -e
to avoid breaking things)在大多数情况下,您可以将所有 sql 源放入 shell“此处文档”中。这里文档的好处是 shell 的 ${MY_VAR} 即使在单引号内也会扩展,例如:
YMMV
In most cases you can put all of the sql source in a shell 'here document'. The nice thing about here documents is that the shell's ${MY_VAR} are expanded even within single quotes, e.g:
YMMV
检查这个
http://archives.postgresql.org/pgsql-admin/2000 -10/msg00026.php
和
http://www.dbforums.com/postgresql/340741-cron-jobs -postgresql.html
或者您可以创建一个 bash 脚本来包含您的编码并从 crontab 调用它
Check this
http://archives.postgresql.org/pgsql-admin/2000-10/msg00026.php
and
http://www.dbforums.com/postgresql/340741-cron-jobs-postgresql.html
or you can just create a bash script to include your coding and call it from crontab
对于 Postgresql 10 及更高版本,您可以使用 pg_cron。正如其 README.md 中所述,
For Postgresql 10 and above you can use pg_cron. As stated in its README.md,