"Vilson farias" <vilson.farias@digitro.com.br> writes:
> I've been testing some queries and I have a question : Is there a way to =
> put a index in a temporary table?
You just do it.
test72=# create temp table foo (f1 int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'foo_pkey' for table 'foo'
CREATE
test72=# explain select * from foo where f1 = 42;
NOTICE: QUERY PLAN:
Index Scan using foo_pkey on foo (cost=0.00..4.82 rows=1 width=4)
or if you prefer
test72=# drop table foo;
DROP
test72=# create temp table foo (f1 int);
CREATE
test72=# create index fooi on foo(f1);
CREATE
test72=# explain select * from foo where f1 = 42;
NOTICE: QUERY PLAN:
Index Scan using fooi on foo (cost=0.00..17.07 rows=5 width=4)
It's not any different from working with a permanent table...
regards, tom lane