| From: | Mitar <mmitar(at)gmail(dot)com> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
| Cc: | David Fetter <david(at)fetter(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Kevin Grittner <kgrittn(at)gmail(dot)com> |
| Subject: | Re: Feature: triggers on materialized views |
| Date: | 2018-12-26 17:07:22 |
| Message-ID: | CAKLmikPoVqXtCU+r5-u+Hfskszr6Yft8Ou8zMo-2k-tqWDuE_w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi!
On Wed, Dec 26, 2018 at 4:38 AM Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> Sounds like you could do this by fixing concurrent refresh to also work
> when the MV is WITH NO DATA.
Yes, I do not think this would be too hard to fix. I could do this nevertheless.
> > Ah, yes. I could just do TRUNCATE and INSERT, instead of heap swap.
> > That would then generate reasonable trigger calls.
>
> Right.
I have tested this yesterday and performance is 2x worse that heap
swap on the benchmark I made. So I do not think this is a viable
approach.
I am now looking into simply triggering TRUNCATE and INSERT triggers
after heap swap simulating the above. I made AFTER STATEMENT triggers
and it looks like it is working, only NEW table is not populated for
some reason. Any suggestions? See attached patch.
Mitar
| Attachment | Content-Type | Size |
|---|---|---|
| heapswaptriggers.patch | text/x-patch | 1.7 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2018-12-26 17:07:36 | Re: reducing the footprint of ScanKeyword (was Re: Large writable variables) |
| Previous Message | Alvaro Herrera | 2018-12-26 17:00:22 | Re: Feature: temporary materialized views |