Re: Skip temporary table schema name from explain-verbose output. - Mailing list pgsql-hackers

From Ashutosh Bapat
Subject Re: Skip temporary table schema name from explain-verbose output.
Date
Msg-id CAExHW5t+Y1NmhoLPnwMkr6aYOQ9y2Qeoihw9Dm-ML65pTtJq4g@mail.gmail.com
Whole thread Raw
In response to Re: Skip temporary table schema name from explain-verbose output.  (Amul Sul <sulamul@gmail.com>)
Responses Re: Skip temporary table schema name from explain-verbose output.  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
List pgsql-hackers
On Tue, Apr 27, 2021 at 12:23 PM Amul Sul <sulamul@gmail.com> wrote:
> >
> > How about using an explain filter to replace the unstable text
> > pg_temp_3 to pg_temp_N instead of changing it in the core? Following
> > are the existing explain filters: explain_filter,
> > explain_parallel_append, explain_analyze_without_memory,
> > explain_resultcache, explain_parallel_sort_stats, explain_sq_limit.
> >
>
> Well, yes eventually, that will be the kludge. I was wondering if that
> table is accessible in a query via pg_temp schema then why should
> bother about printing the pg_temp_N schema name which is an internal
> purpose.

Although only the associated session can access objects from that
schema, I think, the entries in pg_class have different namespace oids
and are accessible from other sessions. So knowing the actual schema
name is useful for debugging purposes. Using auto_explain, the explain
output goes to server log, where access to two temporary tables with
the same name from different sessions can be identified by the actual
schema name easily.

I am not sure whether we should change explain output only for the
sake of stable tests.

You could add a flag to EXPLAIN to mask pg_temp name but that's
probably an overkill. Filtering is a better option for tests.

-- 
Best Wishes,
Ashutosh Bapat



pgsql-hackers by date:

Previous
From: Seino Yuki
Date:
Subject: Add reset information to pg_stat_statements_info
Next
From: Bharath Rupireddy
Date:
Subject: Re: Skip temporary table schema name from explain-verbose output.