pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Louis-David Mitterrand <cunctator@apartia.ch>
To: pgsql-general@postgresql.org
Subject: Re: child table doesn't inherit PRIMARY KEY?
Date: Sat, 3 Jun 2000 17:51:56 +0200
Message-ID: <20000603175156.A4073@styx> (raw)
In-Reply-To: <20000603172256.A3435@styx>
References: <20000603172256.A3435@styx>

On Sat, Jun 03, 2000 at 05:22:56PM +0200, Louis-David Mitterrand wrote:
> When creating a child (through CREATE TABLE ... INHERIT (parent)) it
> seems the child gets all of the parent's contraints _except_ its PRIMARY
> KEY. Is this normal? Should I add a PRIMARY KEY(id) statement each time
> I create an inherited table?

Following up to my previous message, I found that one can't explicitely
add a PRIMARY KEY on child table referencing a field on the parent
table, for instance:

    CREATE TABLE auction (
    id SERIAL PRIMARY KEY,
    title text,
    ... etc...
    );

then 

    CREATE TABLE auction_dvd (
    zone int4,
    PRIMARY KEY("id")
    ) inherits("auction");

doesn't work:
    ERROR:  CREATE TABLE: column 'id' named in key does not exist

But the aution_dvd table doesn't inherit the auction table's PRIMARY
KEY, so I can insert duplicates.

Solutions:

1) don't use PRIMARY KEY, use UNIQUE NOT NULL (which will be inherited?)
but the I lose the index,

2) use the OID field, but it's deprecated by PG developers?

What would be the best solution?

TIA

-- 
Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.fr

Veni, Vidi, VISA.



view thread (10+ messages)  latest in thread

Message-ID: <20000603175156.A4073@styx>
Permalink:  ../20000603175156.A4073@styx/
Also on:    postgresql.org/message-id/20000603175156.A4073@styx

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-docs@postgresql.org
  Cc: cunctator@apartia.ch, pgsql-general@postgresql.org
  Subject: Re: child table doesn't inherit PRIMARY KEY?
  In-Reply-To: <20000603175156.A4073@styx>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox