sql >> データベース >  >> RDS >> PostgreSQL

マテリアライズド・ビューのリフレッシュには、追加された列は含まれません

    SELECT * 同様のすべての操作と同様に、実行時に展開されます( CREATE VIEW CREATE TABLE AS

    キーワードは「遅延バインディング」ではなく「早期バインディング」です。 Postgresは、SELECT *の実行時に存在する列のリストを保存します 、後で追加される列はではありません 自動的に含まれます。 クエリ文字列 それ自体は保存されず、の内部表現のみが保存されます。 SELECT *を展開します およびすべての識別子の解決などの他のもの。

    REFRESH MATERIALIZED VIEW 決して データ定義を変更します。データのみを変更します:

    マニュアルはそれについてより明確にすることができますが、動作との比較CREATE TABLE AS 私にそれを明らかにしました:




    1. イベントタイプデータに基づいて行を入力する方法

    2. Nagiosを使用してPostgreSQLを監視する方法

    3. 欠落しているアーティファクトcom.oracle:ojdbc6:jar:11.2.0.3

    4. ネストされたクエリで一時テーブルを作成して使用する