1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Use in-place updates for pg_restore_relation_stats().

This matches the behavior of vac_update_relstats(), which is important
to avoid bloating pg_class.

Author: Corey Huinker
Discussion: https://postgr.es/m/CADkLM=fc3je+ufv3gsHqjjSSf+t8674RXpuXW62EL55MUEQd-g@mail.gmail.com
This commit is contained in:
Jeff Davis
2024-12-10 16:30:37 -08:00
parent 8ede501685
commit a43567483c
4 changed files with 244 additions and 80 deletions

View File

@ -30175,6 +30175,14 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
function is to maintain a consistent function signature to avoid
errors when restoring statistics from previous versions.
</para>
<para>
To match the behavior of <xref linkend="sql-vacuum"/> and <xref
linkend="sql-analyze"/> when updating relation statistics,
<function>pg_restore_relation_stats()</function> does not follow MVCC
transactional semantics (see <xref linkend="mvcc"/>). New relation
statistics may be durable even if the transaction aborts, and the
changes are not isolated from other transactions.
</para>
<para>
Arguments are passed as pairs of <replaceable>argname</replaceable>
and <replaceable>argvalue</replaceable>, where