diff options
Diffstat (limited to 'doc/src/sgml/high-availability.sgml')
-rw-r--r-- | doc/src/sgml/high-availability.sgml | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index cf61b2ed2a..5f9257313a 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -1873,10 +1873,16 @@ synchronous_standby_names = 'ANY 2 (s1, s2, s3)' </para> <para> - Experienced users should note that both row version cleanup and row version - freezing will potentially conflict with standby queries. Running a manual - <command>VACUUM FREEZE</command> is likely to cause conflicts even on tables with - no updated or deleted rows. + Row version cleanup isn't the only potential cause of conflicts with + standby queries. All index-only scans (including those that run on + standbys) must use an <acronym>MVCC</acronym> snapshot that + <quote>agrees</quote> with the visibility map. Conflicts are therefore + required whenever <command>VACUUM</command> <link + linkend="vacuum-for-visibility-map">sets a page as all-visible in the + visibility map</link> containing one or more rows + <emphasis>not</emphasis> visible to all standby queries. So even running + <command>VACUUM</command> against a table with no updated or deleted rows + requiring cleanup might lead to conflicts. </para> <para> |