Re: Fix error message when trying to alter statistics on included column
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Yugo Nagata <nagata@sraoss.co.jp>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-07-02T18:23:09Z
Lists: pgsql-hackers
On Thu, Jun 28, 2018 at 5:28 AM, Yugo Nagata <nagata@sraoss.co.jp> wrote: > According to the error message, it is not allowed to alter statistics on > included column because this is "non-expression column". > > postgres=# create table test (i int, d int); > CREATE TABLE > postgres=# create index idx on test(i) include (d); > CREATE INDEX > postgres=# alter index idx alter column 2 set statistics 10; > ERROR: cannot alter statistics on non-expression column "d" of index "idx" > HINT: Alter statistics on table column instead. > > However, I think this should be forbidded in that this is not a key column > but a included column. Even if we decide to support expressions in included > columns in future, it is meaningless to do this because any statistics on > included column is never used by the planner. > > Attached is the patch to fix the error message. In this fix, column number > is checked first. After applying this, the message is changed as below; > > postgres=# alter index idx alter column 2 set statistics 10; > ERROR: cannot alter statistics on included column "d" of index "idx" I think you should add an open item for this. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Fix ALTER TABLE...SET STATS error message for included columns
- cb9db2ab0674 12.0 landed
- 802b04cb3fad 11.0 landed