Re: Tablespaces and primary keys - Mailing list pgsql-general

From Neil Conway
Subject Re: Tablespaces and primary keys
Date
Msg-id 1106627657.9525.3.camel@localhost.localdomain
Whole thread Raw
In response to Tablespaces and primary keys  (Wes <wespvp@syntegra.com>)
List pgsql-general
On Mon, 2005-01-24 at 21:03 -0600, Wes wrote:
> Implicit indexes created by a constraint do not appear to honor the default
> tablespace.  The index gets created in the "null" tablespace.
>
> I took pg_dumpall output and modified the schema to place everything in
> specific table spaces.   When the statement:
>
>   ALTER TABLE ONLY addresses
>     ADD CONSTRAINT addresses_pkey PRIMARY KEY (address_key);
>
> is executed, this results in an implicitly created index:
>
>    NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index
>       "addresses_pkey" for table "addresses"
>
> However, it ignores my previous command:
>
>   SET default_tablespace = indexes;
>
> and creates the index without a tablespace.

I can't repro this (with current sources):

neilc=# create tablespace foo location '/tmp/foo';
CREATE TABLESPACE
neilc=# set default_tablespace = 'foo';
SET
neilc=# create table xyz (a int primary key);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
"xyz_pkey" for table "xyz"
CREATE TABLE
Time: 45.838 ms
neilc=# \d xyz
      Table "public.xyz"
 Column |  Type   | Modifiers
--------+---------+-----------
 a      | integer | not null
Indexes:
    "xyz_pkey" PRIMARY KEY, btree (a)
Tablespace: "foo"

neilc=# \d xyz_pkey
Index "public.xyz_pkey"
 Column |  Type
--------+---------
 a      | integer
primary key, btree, for table "public.xyz"
Tablespace: "foo"

neilc=# alter table xyz drop constraint xyz_pkey;
ALTER TABLE
neilc=# alter table xyz add constraint "xyz_pkey2" primary key (a);
NOTICE:  ALTER TABLE / ADD PRIMARY KEY will create implicit index
"xyz_pkey2" for table "xyz"
ALTER TABLE
neilc=# \d xyz_pkey2
Index "public.xyz_pkey2"
 Column |  Type
--------+---------
 a      | integer
primary key, btree, for table "public.xyz"
Tablespace: "foo"

-Neil



pgsql-general by date:

Previous
From: Benjamin Smith
Date:
Subject: Search for restricting foreign keys
Next
From: Jeff Davis
Date:
Subject: Re: disable trigger from transaction