Re: inheritance and table - Mailing list pgsql-general

From Erik Jones
Subject Re: inheritance and table
Date
Msg-id 44A09A47.5020100@myemma.com
Whole thread Raw
In response to inheritance and table  (nik600 <nik600@gmail.com>)
Responses Re: inheritance and table
List pgsql-general
nik600 wrote:
> hi
>
> i don't have understand how works inheritance of tables...
>
> if table B inherits from table A
>
> - A and B must share primary keys?
>
> - if i isert record in B the record is replaced in A ?
>
> can i avoid this?
>
> i would like to have this scenario:
>
> table A
>
> table B inheridts from A
> table C inheridts from A
>
> if i insert a record in B it must be insered only in B!
> if i insert a record in C it must be insered only in C!
>
> is it possible?
>
> thanks
Do you mean like this?  (Notice the use of LIKE instead of INHERITS):

CREATE TABLE table_1 (
    a int,
    b int
)

CREATE TABLE table_2 (
    LIKE table_1
)

(**Note:  CREATE TABLE with INHERITS uses different syntax!**)

INSERT INTO table_1 (a, b) VALUES (1, 2);
INSERT INTO table_2 (a, b,) VALUES (3,  4);

Now,

SELECT * FROM table_1;

yeilds,

_a | b_
1 | 2

and not,

_a | b
_1 | 2
3 | 4

as it would've if you'd used INHERITS instead of LIKE.

--
erik jones <erik@myemma.com>
software development
emma(r)


pgsql-general by date:

Previous
From: "Alex Turner"
Date:
Subject: Re: RAID + PostgreSQL?
Next
From: arie nugraha
Date:
Subject: Re: inheritance and table