On 08/15/2013 08:07 AM, Ivan Radovanovic wrote:
On 08/15/13 16:59, Adrian Klaver napisa:
On 08/15/2013 07:53 AM, Ivan Radovanovic wrote:


Now I just need to find out which types can be indexed (and which
types
can be part of PK)

http://www.postgresql.org/docs/9.2/interactive/indexes.html


doesn't list which types can be indexed and which can't?

Postgres can handle a variety of indexes including indexing on
expressions, which is why I pointed you to that link.

To cut to the chase, in the above link at:

http://www.postgresql.org/docs/9.2/interactive/indexes-opclass.html

there is this:

SELECT am.amname AS index_method,
opf.opfname AS opfamily_name,
amop.amopopr::regoperator AS opfamily_operator
FROM pg_am am, pg_opfamily opf, pg_amop amop
WHERE opf.opfmethod = am.oid AND
amop.amopfamily = opf.oid
ORDER BY index_method, opfamily_name, opfamily_operator;



Thanks Adrian, but question was how to decide which types are indexable
- query which you sent returns list of operators defined for some types
- for example it returns operators for bytea too, and you can't index by
bytea,

Actually you can:

CREATE TABLE bytea_test(id int, fld_1 bytea);

test=# \d bytea_test

Table "public.bytea_test"

 Column |  Type   | Modifiers
--------+---------+-----------
 id     | integer |
 fld_1  | bytea   |

test=# CREATE INDEX i ON bytea_test (fld_1);

test=# \d bytea_test
  Table "public.bytea_test"
 Column |  Type   | Modifiers
--------+---------+-----------
 id     | integer |
 fld_1  | bytea   |
Indexes:
    "i" btree (fld_1)



--
Adrian Klaver
adrian.kla...@gmail.com


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to