On Wed, May 31, 2017 at 7:18 PM, Alexander Korotkov < a.korot...@postgrespro.ru> wrote:
> On Wed, May 31, 2017 at 6:53 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > >> Alexander Korotkov <a.korot...@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. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
alter-index-statistics-1.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers