RE: Implementing Incremental View Maintenance - Mailing list pgsql-hackers

From tsunakawa.takay@fujitsu.com
Subject RE: Implementing Incremental View Maintenance
Date
Msg-id OSAPR01MB50732465353599538456CD2EFE290@OSAPR01MB5073.jpnprd01.prod.outlook.com
Whole thread Raw
In response to Re: Implementing Incremental View Maintenance  (Yugo Nagata <nagata@sraoss.co.jp>)
Responses Re: Implementing Incremental View Maintenance  (Yugo Nagata <nagata@sraoss.co.jp>)
List pgsql-hackers
From: Yugo Nagata <nagata@sraoss.co.jp>
> On Mon, 23 Dec 2019 08:08:53 +0000
> "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com> wrote:
> > How about unlogged tables ?  I thought the point of using a temp table is to
> avoid WAL overhead.
>
> Hmm... this might be another option. However, if we use unlogged tables,
> we will need to create them in a special schema similar to pg_toast
> to split this from user tables. Otherwise, we need to create and drop
> unlogged tables repeatedly for each session.

Maybe we can create the work tables in the same schema as the materialized view, following:

* Prefix the table name to indicate that the table is system-managed, thus alluding to the user that manually deleting
thetable would break something.  This is like the system attribute __imv_count you are proposing. 

* Describe the above in the manual.  Columns of serial and bigserial data type similarly create sequences behind the
scenes.

* Make the work tables depend on the materialized view by recording the dependency in pg_depend, so that Dropping the
materializedview will also drop its work tables. 


Regards
Takayuki Tsunakawa




pgsql-hackers by date:

Previous
From: "tsunakawa.takay@fujitsu.com"
Date:
Subject: RE: Implementing Incremental View Maintenance
Next
From: Julien Rouhaud
Date:
Subject: Re: Online checksums verification in the backend