Re: [HACKERS] ALTER INDEX .. SET STATISTICS ... behaviour - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: [HACKERS] ALTER INDEX .. SET STATISTICS ... behaviour
Date
Msg-id CAPpHfdv4PvsvF85mugD6oL+y_VcXpdzUb8VikX6YyrST-hdnow@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] ALTER INDEX .. SET STATISTICS ... behaviour  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Responses Re: [HACKERS] ALTER INDEX .. SET STATISTICS ... behaviour
List pgsql-hackers
On Thu, Jun 1, 2017 at 4:10 PM, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote:
On Wed, May 31, 2017 at 7:18 PM, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote:
On Wed, May 31, 2017 at 6:53 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Alexander Korotkov <a.korotkov@postgrespro.ru> writes:
> I've discovered that PostgreSQL is able to run following kind of queries in
> order to change statistic-gathering target for an indexed expression.

> ALTER INDEX index_name ALTER COLUMN expr SET STATISTICS stat_target;

> It's been previously discussed in [1].

> I think this should be fixed not just in docs.  This is why I've started
> thread in pgsql-hackers.  For me usage of internal column names "expr",
> "expr1", "expr2" etc. looks weird.  And I think we should replace it with a
> better syntax.  What do you think about these options?

> ALTER INDEX index_name ALTER EXPRESSION 0 SET STATISTICS stat_target; --
> Refer expression by its number
> ALTER INDEX index_name ALTER EXPRESSION (x + y) SET STATISTICS stat_target;
> -- Refer expression by its definition

Don't like either of those particularly, but what about just targeting
a column by column number, independently of whether it's an expression?

        ALTER INDEX myindex ALTER COLUMN 4 SET STATISTICS 1000;

I completely agree with that.
If no objections, I will write a patch for that.

Please, find it in attached patch.

I decided to forbid referencing columns by numbers for tables, because those numbers could contain gaps.  Also, I forbid altering statistics target for non-expression index columns, because it has no effect.

Patch rebased to current master is attached.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company 
Attachment

pgsql-hackers by date:

Previous
From: Antonin Houska
Date:
Subject: Re: [HACKERS] WIP: Separate log file for extension
Next
From: Alexander Korotkov
Date:
Subject: Re: [HACKERS] LWLock optimization for multicore Power machines