マテリアライズドビューPostgreSQLにおけるマテリアライズドビューはビューのようにルールシステムを使用しますが、あたかもテーブルであるかのような形態で結果を保持します。mytab;の間の主な違いは、その後にマテリアライズドビューを直接更新できない事と、マテリアライズドビューを作成するために使われた問い合わせがビューと全く同様の方法で保持され、以下のコマンドを用いて最新のデータでマテリアライズドビューを再構築できる事です。mymatview;マテリアライズドビューに関する情報はPostgreSQLシステムカタログでビューやテーブルに対するものと全く同様に保持されています。そのため、パーサにとってマテリアライズドビューはテーブルやビューと同じリレーションです。問い合わせでマテリアライズドビューが参照された時、あたかもテーブルのように、データはマテリアライズドビューから直接返されます。ルールはマテリアライズドビューにデータを投入する時にだけ使用されます。多くの場合、マテリアライズドビューに格納されているデータの参照は、ビューを通して、あるいはビューから参照されているテーブルを直接参照するよりも高速ですが、データが常に最新であるとは限りません。時には最新のデータは必要でない事もあります。販売履歴を記録するテーブルの例を考えてみましょう。販売量);もし利用者が過去の販売データを速やかにグラフ化可能であってほしいと考えるなら、彼らはデータの要約を望むのであって、最新のデータが不完全である事は気にしないでしょう。invoice_date);このマテリアライズドビューは営業担当用に作成されるダッシュボードのグラフを表示するのにぴったりでしょう。以下のSQLを使った統計情報を更新するジョブを毎晩スケジュールしておくことができます。sales_summary;それ以外のマテリアライズドビューの用途として、外部データラッパを通じてリモートシステムから取得したデータの高速化が挙げられます。以下の例はfile_fdwを用いた単純な例で、実行時間を含みますが、これはローカルシステムのキャッシュ機構を用いているため、リモートシステムへのアクセスと比較した違いの方がここで示したものより劇的です。マテリアライズドビューにはインデックスを設定することもできますが、file_fdwはインデックスをサポートしないことに注意してください。この有利な点は、他の種類の外部データアクセスには当てはまらないでしょう。wrd;file_fdwを直接用いて字句のスペルチェックをしてみましょう。ms代わりにマテリアライズドビューを使った場合、問い合わせは非常に速くなります。msどちらの場合でも、wordの綴りは間違っています。我々が望んでいたであろう結果を得るために、もう一度file_fdwを使ってみます。ms定期的にリモートのデータをローカルに更新せねばならない事を許容できるのであれば、代わりに性能上の便益を得られることでしょう。INSERT、UPDATE、DELETEについてのルール。