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.

Reply via email to