Re: Inheritance in Postgresql ? - Mailing list pgsql-admin

From ABBAS SHAKEEL
Subject Re: Inheritance in Postgresql ?
Date
Msg-id a498e47a0912152333l2fabf1e9ub317e331179ff2f8@mail.gmail.com
Whole thread Raw
In response to Re: Inheritance in Postgresql ?  (Scott Marlowe <scott.marlowe@gmail.com>)
Responses Re: Inheritance in Postgresql ?  (Richard Broersma <richard.broersma@gmail.com>)
List pgsql-admin
Thanks Scott,

Your comments are of worth. 

I feel relatively clear with this concept and i stopped my mind as well from comparing inheritance concept with JAVA  by saying that  inheritance concept in humans, in JAVA and in Postgres is different in many aspects.

I would like to share an example as well which describe the advantage of inheritance in Postgres in detail . Example can be found here.


On Wed, Dec 16, 2009 at 12:15 PM, Scott Marlowe <scott.marlowe@gmail.com> wrote:
On Wed, Dec 16, 2009 at 12:01 AM, ABBAS SHAKEEL
> Thanks Scott
> you are right . It inherits structure only and i don't know whether to call
> to it an advantage or disadvantage that it query the children table as well
> while select. But in case of insert and update this concepts takes a new
> turn.
> How inheritance effect data?
>  Can you please briefly compare concept of inheritance in Postgres and JAVA,
> as my mind is trying to compare this with already  stored concept in mind
> about inheritance ;)

I'm no Java specialist, so can't directly compare there.  In the case
of inserts those go to the parent or, if you insert directly to them
the child tables. Updates operate on the appropriate child tables.

By defining triggers or rules, you can make inserts to the parent
table go to appropriate child tables, which is often done for
partitioning data, which is in turn the most common use for table
inheritance.

You can also select data from JUST the parent with the only keyword,
as in "select * from only parent_table".

Note that pgsql supports multiple inheritance, so that you can have a
table inherit structure from two or more parent tables as well.

Note that as of 8.4, according to the docs:
"All check constraints and not-null constraints on a parent table are
automatically inherited by its children. Other types of constraints
(unique, primary key, and foreign key constraints) are not inherited."

So for foreign keys and such, inheritance is much less useful than
regular tables.



--
Best Regards
Shakeel Abbas

pgsql-admin by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: Inheritance in Postgresql ?
Next
From: Brian Modra
Date:
Subject: Re: Looking for Good and Easy-to-use Reporting Tool