From: | Sam Mason <sam(at)samason(dot)me(dot)uk> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Selecting rows by content of array type field |
Date: | 2009-08-13 17:36:55 |
Message-ID: | 20090813173655.GI5407@samason.me.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Thu, Aug 13, 2009 at 04:02:14PM +0300, mito wrote:
> I have table like this:
> CREATE TABLE messages {
> recepients varchar[],
> };
>
> Want to select by content co array type field recepients:
> SELECT * FROM messages where 'john' ANY (recepients);
not sure if it went missing in the email, but you want an equals in
there, i.e:
SELECT * FROM messages WHERE 'john' = ANY(recepients);
> If i want to create index on recepients field, is it enough to
> CREATE INDEX messages_recepients_index ON messages (recepients);
> or is there other way how to index this? Expressions?
I think you want a GIN index; have a look at:
http://www.postgresql.org/docs/current/static/indexes.html
--
Sam http://samason.me.uk/
From | Date | Subject | |
---|---|---|---|
Next Message | Emanuel Calvo Franco | 2009-08-13 17:53:18 | Re: Simulate count result are distinct between 8.3 and 8.4 |
Previous Message | Tom Lane | 2009-08-13 17:36:45 | Re: Encoding question when dumping/restoring databases for upgrade |