Query Rewrite for Materialized Views (FDW Extension)

From: Dent John <denty(at)QQdd(dot)eu>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Query Rewrite for Materialized Views (FDW Extension)
Date: 2018-04-05 13:41:15
Message-ID: FC784A9F-F599-4DCC-A45D-DBF6FA582D30@QQdd.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I wanted to share the project I've been working on which dynamically rewrites queries to target materialized views when views are available that can satisfy part of a query with lower cost plans.

I embarked upon as an interesting side project. It took me a bit more time than I anticipated, but the result works for my use case. Because of that, I thought it worth sharing. However I would caution that my use case is not exactly of a commercial scale... so please heed the following obligatory warning:

**NOTE: this is not "production ready" code — if it works for you, then great, but use it after thorough testing, and with appropriate caution.**

There are some limitations to the rewrite opportunities it takes up, and it will almost certainly fail on complex materialized views composed of deeply nested queries.

The extension does not have extensive (actually: any) documentation, but the few test cases should make obvious to the inclined reader how it works. This is deliberate at this early a stage: I don't want to encourage uninformed adoption because of the possibility of data loss or incorrect query rewrites.

The extension is written against a Postgres 10.1 source tree.

Source code: https://github.com/d-e-n-t-y/pg_fdw_mv_rewrite

Questions or comments are very welcome.

denty.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2018-04-05 13:41:30 Re: [HACKERS] Runtime Partition Pruning
Previous Message Tom Lane 2018-04-05 13:27:47 Re: typcategory for regconfig