Re: Implicit rule created for materialized views

From: Kevin Grittner <kevin(dot)grittner(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Implicit rule created for materialized views
Date: 2013-06-03 12:06:50
Message-ID: CAHwBYSJ18fa-CnE-TrsDQU92ryMYtytW5dQsyJcd4ST6BTxLtg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Yes, that is currently used for REFRESH, and will be used to drive the
incremental maintenance when that is added. Without it, CREATE
MATERIALIZED VIEW wouldn't be different from CREATE TABLE AS.

A materialized view is pretty much like a view, but with the results
materialized.

-Kevin

On Mon, Jun 3, 2013 at 6:58 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Hi
>
> In playing with materialized views, I noticed that they still seem to
> have an _RETURN rule implicitly created like a regular view. This
> doesn't seem right to me - is there a reason?
>
> viper:~ dpage$ /usr/local/pgsql-9.3/bin/psql -p 5433 -U postgres
> psql (9.3beta1)
> Type "help" for help.
>
> postgres=# CREATE MATERIALIZED VIEW ruletest AS SELECT * FROM pg_class;
> SELECT 298
> postgres=# SELECT pg_get_ruledef(oid) FROM pg_rewrite WHERE ev_class =
> 'ruletest'::regclass;
> pg_get_ruledef
> -----------------------------------------------------------------
> CREATE RULE "_RETURN" AS +
> ON SELECT TO ruletest DO INSTEAD SELECT pg_class.relname, +
> pg_class.relnamespace, +
> pg_class.reltype, +
> pg_class.reloftype, +
> pg_class.relowner, +
> pg_class.relam, +
> pg_class.relfilenode, +
> pg_class.reltablespace, +
> pg_class.relpages, +
> pg_class.reltuples, +
> pg_class.relallvisible, +
> pg_class.reltoastrelid, +
> pg_class.reltoastidxid, +
> pg_class.relhasindex, +
> pg_class.relisshared, +
> pg_class.relpersistence, +
> pg_class.relkind, +
> pg_class.relnatts, +
> pg_class.relchecks, +
> pg_class.relhasoids, +
> pg_class.relhaspkey, +
> pg_class.relhasrules, +
> pg_class.relhastriggers, +
> pg_class.relhassubclass, +
> pg_class.relispopulated, +
> pg_class.relfrozenxid, +
> pg_class.relminmxid, +
> pg_class.relacl, +
> pg_class.reloptions +
> FROM pg_class;
> (1 row)
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dave Page 2013-06-03 12:17:37 Re: Implicit rule created for materialized views
Previous Message Craig Ringer 2013-06-03 12:03:26 Re: Vacuum, Freeze and Analyze: the big picture