セットアップ
shared_preload_librariesの設定値にpg_cronを設定する

※ 再起動が必要
- 拡張機能をインストールする
pg_cronを作成するには、postgresデータベースで実施する必要がある。
-- postgresデータベースを選択
\c postgrespg_cronをインストールするアカウントにはrds_suberuser権限を持つもので下記を実行する
CREATE EXTENSION pg_cron;作成されたかを確認する
SELECT * FROM pg_extension;
oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+---------+----------+--------------+----------------+------------+---------------------------+---------------
14346 | plpgsql | 10 | 11 | f | 1.0 | |
20519 | pg_cron | 10 | 2200 | f | 1.4 | {20523,20521,20545,20543} | {"","","",""}※ pg_extensionについて
試してみる
設定する
-- Vacuum every day at 10:00am (GMT)
SELECT cron.schedule('nightly-vacuum', '0 10 * * *', 'VACUUM');
schedule
----------
43ジョブのスケジューリングを停止する
SELECT cron.unschedule('nightly-vacuum' );
unschedule
------------
t参考
Scheduling maintenance with the PostgreSQL pg_cron extension - Amazon Aurora
You can use the PostgreSQL pg_cron extension to schedule maintenance commands within a PostgreSQL database. For more inf...
GitHub - citusdata/pg_cron: Run periodic jobs in PostgreSQL
Run periodic jobs in PostgreSQL. Contribute to citusdata/pg_cron development by creating an account on GitHub.


コメント