【PostgreSQL】AWS RDSのPostgreSQLで拡張機能を利用する

Amazon RDS

セットアップ

  1. shared_preload_librariesの設定値にpg_cronを設定する


※ 再起動が必要

  1. 拡張機能をインストールする
    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.

コメント

タイトルとURLをコピーしました