The following bug has been logged on the website:
Bug reference: 8655
Logged by: Shaun Cutts
Email address: shaunc@factfiber.com
PostgreSQL version: 9.3.1
Operating system: mac os 10.8.5
Description:
I have a large database (100s of millions of rows) in which there are many
"chained" materialized views -- that is: some depend on others, etc...
When I back up and then restore, only the "first layer" of views are
refreshed. I can then go back and manually restore missing views with "-t"
-- though if I do too many at once the same thing happens.
I have tried to generate a small test case, but with no luck. I suspect that
pg_restore needs to issue "refresh" before it creates successive views, and
in "small" cases it gets that right -- but there is some arbitrariness in
the order that trips it up in sufficiently complex cases.
I also have indexes defined on the materialized views. I don't know if that
matters -- an extra sequencing problem for restore though.