Re: documentation question regarding REFRESH MATERIALIZED VIEW CONCURRENTLY

From: Tobias McNulty <tobias(at)caktusgroup(dot)com>
To: Greg Sabino Mullane <htamfids(at)gmail(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: documentation question regarding REFRESH MATERIALIZED VIEW CONCURRENTLY
Date: 2025-02-23 15:34:25
Message-ID: CAMGFDKQbLxahN8mthNU47r8iRB67261SQdk+BtbiBuOqtXNrUg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, Feb 23, 2025 at 10:21 AM Greg Sabino Mullane <htamfids(at)gmail(dot)com> wrote:
> This is the correct interpretation. A regular refresh simply runs the query and replaces the old view, regardless of the number of rows that have changed. A concurrent refresh runs the query and updates the rows in place, so it is very sensitive as to how many of those rows have changed. This also means that many concurrent refreshes can lead to table bloat. And it will generate more WAL than a regular refresh.
>
> My takeaway: use regular refresh when you can. Switch to concurrent if the number of changes is very small, or if constant client access to the view is very important.

This makes sense to me. Many thanks.

Cheers,
Tobias

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Marcelo Fernandes 2025-02-24 07:56:16 Default Value Retention After Dropping Default
Previous Message Greg Sabino Mullane 2025-02-23 15:21:14 Re: documentation question regarding REFRESH MATERIALIZED VIEW CONCURRENTLY