Re: Fix for pg_statio_all_tables

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fix for pg_statio_all_tables
Date: 2020-04-21 01:38:32
Message-ID: 20200421013654.GB77439@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Apr 21, 2020 at 02:44:45AM +0300, Alexander Korotkov wrote:
> Among all the joined tables, only "pg_index I" is expected to have
> multiple rows associated with single relation. But we do sum() for
> toast index "pg_index X" as well. As the result, we multiply
> statistics for toast index by the number of relation indexes. This is
> obviously wrong.

Oops.

> As a bugfix, I think this should be backpatched. But this patch
> requires catalog change. Were similar cases there before? If so,
> how did we resolve them?

A backpatch can happen in such cases, see for example b6e39ca9. In
this case, the resolution was done with a backpatch to
system_views.sql and the release notes include an additional note
saying that the fix applies itself only on already-initialized
clusters. For other clusters, it was necessary to apply a SQL query,
given also in the release notes, to fix the issue (just grep for
CVE-2017-7547 in release-9.6.sgml on the REL9_6_STABLE branch).
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2020-04-21 01:39:50 Re: Adding missing object access hook invocations
Previous Message James Coleman 2020-04-21 01:27:34 Binary search in ScalarArrayOpExpr for OR'd constant arrays