Aditya Toshniwal <aditya.toshni...@enterprisedb.com> writes: > I am working on a feature to support INCLUDE clause of index in PG-11. As > per the documentation https://www.postgresql.org/docs/11/static/ > sql-createindex.html, columns listed in INCLUDE clause cannot also be > present as index key columns. But I find different behaviour for below > queries which are logically identical.
I wonder why there is any such restriction at all. We have never attempted to prevent the creation of "silly" indexes, eg regression=# create table some_table (id int); CREATE TABLE regression=# create index on some_table (id,id); CREATE INDEX regression=# \d+ some_table Table "public.some_table" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description --------+---------+-----------+----------+---------+---------+--------------+------------- id | integer | | | | plain | | Indexes: "some_table_id_id1_idx" btree (id, id) So my inclination is to rip out the "must not intersect" test altogether, not try to make it a bit smarter. regards, tom lane