diff options
| author | Peter Geoghegan | 2021-10-13 21:08:12 +0000 |
|---|---|---|
| committer | Peter Geoghegan | 2021-10-13 21:08:12 +0000 |
| commit | d2bf06db377967b0d671ae372d513806e2a28052 (patch) | |
| tree | 3241150faa604ddd642bea679b92f32d28f57d68 /doc/src | |
| parent | 6df1543abfed6f6a86b76a48fa11a6f019111c01 (diff) | |
pg_amcheck: avoid unhelpful verification attempts.
Avoid calling contrib/amcheck functions with relations that are
unsuitable for checking. Specifically, don't attempt verification of
temporary relations, or indexes whose pg_index entry indicates that the
index is invalid, or not ready.
These relations are not supported by any of the contrib/amcheck
functions, for reasons that are pretty fundamental. For example, the
implementation of REINDEX CONCURRENTLY can add its own "transient"
pg_index entries, which has rather unclear implications for the B-Tree
verification functions, at least in the general case -- so they just
treat it as an error. It falls to the amcheck caller (in this case
pg_amcheck) to deal with the situation at a higher level.
pg_amcheck now simply treats these conditions as additional "visibility
concerns" when it queries system catalogs. This is a little arbitrary.
It seems to have the least problems among any of the available
alternatives.
Author: Mark Dilger <[email protected]>
Reported-By: Alexander Lakhin <[email protected]>
Reviewed-By: Peter Geoghegan <[email protected]>
Reviewed-By: Robert Haas <[email protected]>
Bug: #17212
Discussion: https://postgr.es/m/[email protected]
Backpatch: 14-, where pg_amcheck was introduced.
Diffstat (limited to 'doc/src')
| -rw-r--r-- | doc/src/sgml/ref/pg_amcheck.sgml | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/pg_amcheck.sgml b/doc/src/sgml/ref/pg_amcheck.sgml index 1fd0ecd9114..cfef6c04655 100644 --- a/doc/src/sgml/ref/pg_amcheck.sgml +++ b/doc/src/sgml/ref/pg_amcheck.sgml @@ -435,6 +435,18 @@ PostgreSQL documentation </variablelist> </para> + <warning> + <para> + The extra checks performed against B-tree indexes when the + <option>--parent-check</option> option or the + <option>--rootdescend</option> option is specified require + relatively strong relation-level locks. These checks are the only + checks that will block concurrent data modification from + <command>INSERT</command>, <command>UPDATE</command>, and + <command>DELETE</command> commands. + </para> + </warning> + <para> The following command-line options control the connection to the server: |
