web-dev-qa-db-ja.com

トリガーを使用せずにPostgreSQLマテリアライズドビューを自動的に更新する

外部データラッパーテーブルview_table_Atable_Aという名前のマテリアライズドビューを作成しました。私が欲しいのは、table_Aに新しい挿入が行われるたびにビューが自動的に更新されるようにすることです。トリガーを使用してこれを実行しようとしましたが、機能しませんでした。

トリガーを使用せずにマテリアライズドビューを自動的に更新することは可能ですか?

11
James

a_horse_with_no_name がコメントで言ったように:

いいえ、それは不可能です。マテリアライズドビューの更新を実行するある種のスケジューラが必要です。 pg_cron またはオペレーティングシステムレベルの何か– a_horse_with_no_name

または、SELECTを実行すると更新されるMATERIALIZED VIEWが必要な場合は、MATERIALIZEDを削除して通常のVIEWを使用します。マテリアライゼーションは定期的なキャッシュのみを追加します。クエリ自体が非常に遅いか、または非常に高温である場合にのみ必要です。

11
Evan Carroll