Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6b34e21

Browse files
Document privileges required for vacuumdb --missing-stats-only.
When vacuumdb's --missing-stats-only option is used, the catalogquery for retrieving the list of relations to process must readpg_statistic and pg_statistic_ext_data. However, those catalogscan only be read by superusers by default, so --missing-stats-onlyis effectively superuser-only. This is unfortunate, but since theoption is primarily intended for use by administrators afterrunning pg_upgrade, let's just live with it for v18. This commitadds a note about the aforementioned privilege requirements to thedocumentation for --missing-stats-only.We first tried to improve matters by modifying the query to readthe pg_stats and pg_stats_ext system views instead. While that isindeed more lenient from a privilege standpoint, it is alsoborderline incomprehensible. pg_stats shows rows for which theuser has the SELECT privilege on the corresponding column, andpg_stats_ext shows rows for tables the user owns. Meanwhile,ANALYZE requires either MAINTAIN on the table or, for non-sharedrelations, ownership of the database. But even if the privilegediscrepancies were tolerable, the performance impact was not.Ultimately, the modified query was substantially more expensive, sowe abandoned the idea.For v19, perhaps we could introduce a simple, inexpensive way todiscover which relations are missing statistics, such as a systemfunction or view with similar privilege requirements to ANALYZE.Unfortunately, it is far too late for anything like that in v18.Reviewed-by: Yugo Nagata <nagata@sraoss.co.jp>Reviewed-by: Fujii Masao <masao.fujii@gmail.com>Discussion:https://postgr.es/m/CAHGQGwHh43suEfss1wvBsk7vqiou%3DUY0zcy8HGyE5hBp%2BHZ7SQ%40mail.gmail.comBackpatch-through: 18
1 parent3a7a3ea commit6b34e21

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

‎doc/src/sgml/ref/vacuumdb.sgml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,14 @@ PostgreSQL documentation
292292
This option can only be used in conjunction with
293293
<option>--analyze-only</option> or <option>--analyze-in-stages</option>.
294294
</para>
295+
<para>
296+
Note that <option>--missing-stats-only</option> requires
297+
<literal>SELECT</literal> privileges on
298+
<link linkend="catalog-pg-statistic"><structname>pg_statistic</structname></link>
299+
and
300+
<link linkend="catalog-pg-statistic-ext-data"><structname>pg_statistic_ext_data</structname></link>,
301+
which are restricted to superusers by default.
302+
</para>
295303
</listitem>
296304
</varlistentry>
297305

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp