Обсуждение: child table doesn't inherit PRIMARY KEY?
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? Cheers, -- Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.fr If at first you don't succeed, redefine success.
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.
			
		Louis-David Mitterrand writes: > 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? It's kind of a bug. -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
On Sun, Jun 04, 2000 at 03:46:53AM +0200, Peter Eisentraut wrote: > Louis-David Mitterrand writes: > > > 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? > > It's kind of a bug. Is it a well-known bug or have I discovered it? ;-) (I am sending a copy of the bug report to -hackers) Thanks, -- Louis-David Mitterrand - ldm@apartia.org - http://www.apartia.fr "God is a mathematician of very high order, and he used very advanced mathematics in constructing the universe." (Dirac)
Can someone comment on this? [ Charset ISO-8859-1 unsupported, converting... ] > Louis-David Mitterrand writes: > > > 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? > > It's kind of a bug. > > > -- > Peter Eisentraut Sernanders v?g 10:115 > peter_e@gmx.net 75262 Uppsala > http://yi.org/peter-e/ Sweden > > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Does this bug still exist? [ Charset ISO-8859-1 unsupported, converting... ] > Louis-David Mitterrand writes: > > > 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? > > It's kind of a bug. > > > -- > Peter Eisentraut Sernanders v?g 10:115 > peter_e@gmx.net 75262 Uppsala > http://yi.org/peter-e/ Sweden > > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Probably, since I see it in near recent sources (and it affects UNIQUE as well. As I remember it, the last discussion on this couldn't determine what the correct behavior for unique/primary key constraints was in the inheritance case (is it a single unique hierarchy through all the tables [would be needed for fk to inheritance trees] or separate unique constraints for each table [which would be similar to how many people seem to currently use postgres inheritance as a shortcut]). On Thu, 18 Jan 2001, Bruce Momjian wrote: > Does this bug still exist? > > [ Charset ISO-8859-1 unsupported, converting... ] > > Louis-David Mitterrand writes: > > > > > 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?