REFRESH MATERIALIZED VIEW CONCURRENTLY interaction with ORDER BY - Mailing list pgsql-docs

From PG Doc comments form
Subject REFRESH MATERIALIZED VIEW CONCURRENTLY interaction with ORDER BY
Date
Msg-id 155438966988.726.7863901426737518005@wrigleys.postgresql.org
Whole thread Raw
Responses Re: REFRESH MATERIALIZED VIEW CONCURRENTLY interaction with ORDER BY
List pgsql-docs
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/10/sql-refreshmaterializedview.html
Description:

On 10.7 we hit a case where the backing query had an order by clause and a
concurrent refresh updated it differently than a normal refresh. This is a
bit of an odd corner case given that up till that point, views would respect
the ordering.

It's not explicit that CONCURRENTLY populates the data any differently than
normal, specifically, in a way that means the ordering in the backing query
is not always maintained, depending on the order of updates. 

Reading through the comment at

https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/commands/matview.c;h=2aac63296bfee535af3ea660c617b265d7ec8042;hb=HEAD#l548
I can see the logic in that, but it could use an explicit mention in the
CONCURRENTLY section. Not sure if there's any plan for changing the
behaviour either.

Also the existing sentence "If you want the data to be ordered upon
generation, you must use an ORDER BY clause in the backing query." sort of
implies that the ORDER BY will be respected.

pgsql-docs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Responsive images in pgweb docs
Next
From: "Jonathan S. Katz"
Date:
Subject: Re: Responsive images in pgweb docs