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