2016-02-07 62 views
1

我使用PostgreSQL數據庫。我有一個問題,我需要在每個月的第一天更新我的數據庫表。我一直在做一些研究,如何做到這一點,我只發現使用觸發器可能是一個解決方案。在每個月的特定日期運行PostgreSQL函數

觸發器的問題是它們只能在特定事件上觸發。這些事件是:INSERT,DELETE,UPDATETRUNCATE

由於這些只是觸發功能的可能事件,問題是我如何觸發基於日期的功能?重要的是要注意,我不想給出觸發器的固定日期,因爲顯然它只會在特定日期觸發。

+2

你需要創建一個'cron'工作,然後通過運行該SQL語句的服務。 Postgres沒有內置的日程安排 –

+0

@a_horse_with_no_name:謝謝你,我目前正在查看有關cron作業的信息,它看起來很有希望。 –

+0

如果postgreSQL在Windows上運行,則可以使用Windows任務計劃程序。 Cron是Linux的 –

回答

2

pgAgent運行作爲在* nix系統守護進程,並在Windows系統上

http://www.pgadmin.org/docs/1.4/pgagent-install.html

+0

感謝您的回答,這是比cronjob更好的解決方案。我發現的關於pgAgent的好文章以及如何設置預定作業可以在這裏找到http://www.postgresonline.com/journal/archives/19-Setting-up-PgAgent-and-Doing-Scheduled-Backups.html –

+0

I做了一個測試工作,它成功並按我的意願工作。如果您使用的是PostgreSQL並希望有計劃的作業,我強烈建議使用pgAgent。在pgAgent中設置所有內容非常簡單,但文檔可能會在其網站中更詳細。 –

相關問題