Обсуждение: partial index on non default tablespace syntax

Поиск
Список
Период
Сортировка

partial index on non default tablespace syntax

От
Rajesh Kumar Mallah
Дата:
Hi,

Looks like its not possible to specify tablespace of an index with a
where clause,
we require to create the index, and then use ALTER INDEX for setting
the tablespace. Is it something that is already known or its itentional so as
to keep the command unambigious. i also could not find it in the TODO

Regds
Rajesh Kumar Mallah.


Re: partial index on non default tablespace syntax

От
Michael Fuhr
Дата:
On Sat, Jun 18, 2005 at 10:24:06PM +0530, Rajesh Kumar Mallah wrote:
> 
> Looks like its not possible to specify tablespace of an index with a
> where clause,

Could you show the command you're running and the error you get,
or otherwise explain what problem you're seeing?  Is the following
not what you're looking for?

CREATE INDEX foo_name_idx ON foo (name) TABLESPACE testspace WHERE name IS NOT NULL;

http://www.postgresql.org/docs/8.0/static/sql-createindex.html

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


Re: partial index on non default tablespace syntax

От
Tom Lane
Дата:
Rajesh Kumar Mallah <mallah.rajesh@gmail.com> writes:
> Looks like its not possible to specify tablespace of an index with a
> where clause,

Hm?

regression=# create table foo(f1 int, f2 int);
CREATE TABLE
regression=# create index fooi on foo (f1) tablespace pg_default where f2 < 0;
CREATE INDEX

(I hadn't bothered to make a tablespace to test with, but the point
is the syntax is fine.)
        regards, tom lane


Re: partial index on non default tablespace syntax

От
Rajesh Kumar Mallah
Дата:
Fuhr,Tom and Everyone
Extremely sorry for not consulting the docs.
I was doing this:

CREATE INDEX foo_name_idx ON foo (name)
WHERE name IS NOT NULL TABLESPACE testspace  ;

Regds
Rajesh Kumar Mallah.

On 6/18/05, Michael Fuhr <mike@fuhr.org> wrote:
> On Sat, Jun 18, 2005 at 10:24:06PM +0530, Rajesh Kumar Mallah wrote:
> >
> > Looks like its not possible to specify tablespace of an index with a
> > where clause,
>
> Could you show the command you're running and the error you get,
> or otherwise explain what problem you're seeing?  Is the following
> not what you're looking for?
>
> CREATE INDEX foo_name_idx ON foo (name)
>   TABLESPACE testspace
>   WHERE name IS NOT NULL;
>
> http://www.postgresql.org/docs/8.0/static/sql-createindex.html
>
> --
> Michael Fuhr
> http://www.fuhr.org/~mfuhr/
>