From: | "Charles Clavadetscher" <clavadetscher(at)swisspug(dot)org> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: create index on a field of udt |
Date: | 2015-06-29 05:57:43 |
Message-ID: | 002801d0b230$8929d9a0$9b7d8ce0$@swisspug.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
I am not sure it is that simple. Probably you need to create operator classes to be used for indexing.
http://www.postgresql.org/docs/9.4/static/xtypes.html
You are probably better off using the basic data type in your table and using a composite index.
Bye
Charles
From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of John R Pierce
Sent: Montag, 29. Juni 2015 07:51
To: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] create index on a field of udt
On 6/28/2015 10:31 PM, Shujie Shang 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 <http://i.id> )
create table test of info primary key(id);
or, if you want to use your type plus other stuff in the table, I believe its something like...
create table test (i info, stuff...) primary key (i.id)
or
create index test(i.id);
watch out for ambiguity if the type names match the table or field name. see http://www.postgresql.org/docs/current/static/rowtypes.html#AEN7836
--
john r pierce, recycling bits in santa cruz
From | Date | Subject | |
---|---|---|---|
Next Message | John R Pierce | 2015-06-29 05:58:19 | Re: Turn off streaming replication - leaving Master running |
Previous Message | Andy Erskine | 2015-06-29 05:57:22 | Re: Turn off streaming replication - leaving Master running |