On 11/23/21 12:44 PM, Tom Lane wrote:
> Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
>> On 23.11.21 07:18, Maciek Sakrejda wrote:
>>> An example in the materialized view documentation [1] includes an ORDER
>>> BY clause without a clear reason. Does it help build the index more
>>> efficiently? I suppose it's also sort of like a CLUSTER?
>
>> I agree the ORDER BY is not relevant to the example. There might be
>> some implementation-dependent advantage to ordering a materialized view,
>> but if there is, it isn't explained in the example.
>
> Yeah. It would result in the initial contents of the matview being
> ordered, but I'm sure we don't wish to guarantee that REFRESH would
> preserve that. I'm on board with just removing the ORDER BY from
> that example.
+1
> I'd rather say something like
>
> If there is an ORDER BY clause in the matview's defining query,
> the original contents of the matview will be ordered that way;
> but REFRESH MATERIALIZED VIEW does not guarantee to preserve
> that ordering.
+1. I think I got bit by this in the real world years back. The above
comment is pretty clear.
Thanks,
Jonathan