Re: [BUGS] Running queries on inherited tables - Mailing list pgsql-bugs

From Tom Lane
Subject Re: [BUGS] Running queries on inherited tables
Date
Msg-id 2894.937156057@sss.pgh.pa.us
Whole thread Raw
In response to Running queries on inherited tables  (Michael Richards <miker@scifair.acadiau.ca>)
Responses Re: [BUGS] Running queries on inherited tables
List pgsql-bugs
Michael Richards <miker@scifair.acadiau.ca> writes:
> I was fooling with inheritance today. From the page at:
> http://www.postgresql.org/docs/user/inherit.htm
> Here the * after cities indicates that the query should be run over cities
> and all classes below cities in the inheritance hierarchy. Many of the
> commands that we have
> already discussed -- SELECT, UPDATE and DELETE -- support this * notation,
> as do others, like ALTER TABLE.

The doc is wrong here --- UPDATE and DELETE don't support *.  They should.

> More playing followed... If I alter table on cities and add a column, is
> it not expected that the additional col should appear in the tables which
> inherit from cities?

You have to say "alter table cities*", I believe, otherwise only cities
is changed.  Which is pretty broken --- if inheritance means anything,
then it ought to mean that the alteration is *inherently* applied to all
the child tables too, and you shouldn't have the option.  In general,
however, beware that alteration of inheritance structures is pretty
thoroughly broken --- see various complaints in the pghackers archives
(mostly from Chris Bitmead, I think).  ALTER TABLE really needs a
reimplementation from the ground up, but I dunno when anyone will get
around to it.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Michael Richards
Date:
Subject: Running queries on inherited tables
Next
From: Michael Richards
Date:
Subject: Re: [BUGS] Running queries on inherited tables