Re: create index on a field of udt - Mailing list pgsql-general

From Jeff Janes
Subject Re: create index on a field of udt
Date
Msg-id CAMkU=1x8AQpW+YWumk7cQETp1Am7USvdG5qxXmkHyyRrJCFzsg@mail.gmail.com
Whole thread Raw
In response to Re: create index on a field of udt  (Shujie Shang <sshang@pivotal.io>)
Responses Re: create index on a field of udt  ("Charles Clavadetscher" <clavadetscher@swisspug.org>)
List pgsql-general
On Sun, Jun 28, 2015 at 10:31 PM, Shujie Shang <sshang@pivotal.io> wrote:
Oh, I didn't explain my question well, actually I want to create an index on an udt in a table.

e.g.
create type info as (id int, name text);
creat table test (i info);
I want to run:
create index myindex on test (i.id)



It is a matter of finding the correct level of magic parentheses.

create index on test (((i).id));

The outer layer are always needed for creating indexes.  The middle layer are needed because you are indexing an expression, not a column.  And the inner layer is needed because, well, that is just how udt works.

Cheers,

Jeff

pgsql-general by date:

Previous
From: John R Pierce
Date:
Subject: Re: create index on a field of udt
Next
From: Michael Paquier
Date:
Subject: Re: Turn off streaming replication - leaving Master running