Re: Inheritance in Postgresql ?

From: ABBAS SHAKEEL <shakeel(dot)abbas(dot)qau(at)gmail(dot)com>
To: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Inheritance in Postgresql ?
Date: 2009-12-16 07:33:56
Message-ID: a498e47a0912152333l2fabf1e9ub317e331179ff2f8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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<http://knol.google.com/k/postgresql-inheritance#>
.

On Wed, Dec 16, 2009 at 12:15 PM, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>wrote:

> On Wed, Dec 16, 2009 at 12:01 AM, ABBAS SHAKEEL
> <shakeel(dot)abbas(dot)qau(at)gmail(dot)com> wrote:
> > 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

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Brian Modra 2009-12-16 07:43:46 Re: Looking for Good and Easy-to-use Reporting Tool
Previous Message Scott Marlowe 2009-12-16 07:15:38 Re: Inheritance in Postgresql ?