セットアップ
shared_preload_libraries
の設定値にpg_cron
を設定する
※ 再起動が必要
- 拡張機能をインストールする
pg_cron
を作成するには、postgres
データベースで実施する必要がある。
-- postgresデータベースを選択
\c postgres
pg_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.
コメント