Обсуждение: [GENERAL] unnest-like pg_stats.most_common_values and pg_stats.most_common_freqs
[GENERAL] unnest-like pg_stats.most_common_values and pg_stats.most_common_freqs
От
Luca Ferrari
Дата:
Hi all, maybe this is trivial, but I need an hint on a way to see a table form of the MCVs and MCFs out of pg_stats with a query. Is it possible to get a set of rows each with a most common value on one column and the corresponding column on the the other? (assuming I can cast the array of MCVs to the right type array) Thanks, Luca -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] unnest-like pg_stats.most_common_values andpg_stats.most_common_freqs
От
Justin Pryzby
Дата:
On Fri, Nov 17, 2017 at 09:32:23PM +0100, Luca Ferrari wrote:
> Hi all,
> maybe this is trivial, but I need an hint on a way to see a table form
> of the MCVs and MCFs out of pg_stats with a query. Is it possible to
> get a set of rows each with a most common value on one column and the
> corresponding column on the the other? (assuming I can cast the array
> of MCVs to the right type array)
I think you want something like this ?
postgres=# SELECT schemaname, tablename, attname, unnest(histogram_bounds::text::text[]), histogram_bounds FROM
pg_statsLIMIT 9;pg_catalog | pg_pltemplate | tmplname | plperl |
{plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog| pg_pltemplate | tmplname | plperlu
| {plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog | pg_pltemplate | tmplname
| plpgsql | {plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog |
pg_pltemplate| tmplname | plpython2u |
{plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog| pg_pltemplate | tmplname |
plpython3u | {plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog | pg_pltemplate |
tmplname | plpythonu | {plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog |
pg_pltemplate| tmplname | pltcl |
{plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog| pg_pltemplate | tmplname | pltclu
| {plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}pg_catalog | pg_pltemplate |
tmplhandler| plperl_call_handler |
{plperl_call_handler,plperlu_call_handler,plpgsql_call_handler,plpython2_call_handler,plpython3_call_handler,plpython_call_handler,pltcl_cal
l_handler,pltclu_call_handler}
Justin
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] unnest-like pg_stats.most_common_values and pg_stats.most_common_freqs
От
Luca Ferrari
Дата:
On Fri, Nov 17, 2017 at 9:41 PM, Justin Pryzby <pryzby@telsasoft.com> wrote:
> I think you want something like this ?
>
> postgres=# SELECT schemaname, tablename, attname, unnest(histogram_bounds::text::text[]), histogram_bounds FROM
pg_statsLIMIT 9;
> pg_catalog | pg_pltemplate | tmplname | plperl |
{plperl,plperlu,plpgsql,plpython2u,plpython3u,plpythonu,pltcl,pltclu}
I don't think it is what I'm looking for, I would like something ,like:
select unnest( histogram_bounds::text::text[] ), unnest(
most_common_freqs ) from pg_stats
but with correlation between the two array indexes. Is it something
achievable in SQL? Or should I use a plpgsql loop with an index?
Luca
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Luca Ferrari <fluca1978@infinito.it> writes:
> I don't think it is what I'm looking for, I would like something ,like:
> select unnest( histogram_bounds::text::text[] ), unnest(
> most_common_freqs ) from pg_stats
> but with correlation between the two array indexes. Is it something
> achievable in SQL? Or should I use a plpgsql loop with an index?
Those two aren't correlated ... but I think what you want is
select ...,v,f
from pg_stats, rows from (unnest(most_common_vals::text::text[]), unnest(most_common_freqs)) r(v,f)
where ...
Seems to work back to 9.4.
regards, tom lane
Re: [GENERAL] unnest-like pg_stats.most_common_values and pg_stats.most_common_freqs
От
Luca Ferrari
Дата:
On Mon, Nov 20, 2017 at 4:38 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Those two aren't correlated ... but I think what you want is > > select ...,v,f > from > pg_stats, > rows from (unnest(most_common_vals::text::text[]), > unnest(most_common_freqs)) r(v,f) > where ... Of course I was meaning MCVs and MCFs, it did not make sense to use the histogram here! Thanks for the query, it works (tested on 9.6.6). Luca