Re: Implicit rule created for materialized views

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: Implicit rule created for materialized views
Дата
Msg-id CA+OCxozkVj=XQKFt+DQsq+pMRcoqWSUEh8WLBdFfdi1zjWKX_Q@mail.gmail.com
обсуждение исходный текст
Ответ на Implicit rule created for materialized views  (Dave Page <dpage@pgadmin.org>)
Ответы Re: Implicit rule created for materialized views  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Implicit rule created for materialized views  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-hackers
On Mon, Jun 3, 2013 at 1:06 PM, Kevin Grittner
<kevin.grittner@enterprisedb.com> wrote:
> 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.

OK.

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

Yeah, I get that, but what is confusing is that this now seems to be a
special kind of relation where there is an ON SELECT DO INSTEAD rule
which isn't actually executed on SELECTs from the view but at some
arbitrary time in the future.

> On Mon, Jun 3, 2013 at 6:58 AM, Dave Page <dpage@pgadmin.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
>
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: Vacuum, Freeze and Analyze: the big picture
Следующее
От: Stephen Frost
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Minor spelling fixes