Bill Studenmund wrote:
>
> On Wed, 18 Jul 2001, Hiroshi Inoue wrote:
>
> > Oops I made a mistake.
> > Reference name is needed not an object name,
> > i.e
> > object relid
> > object oid
> > relerence relid
> > reference oid
> > reference name
> >
> > create table a (...);
> > create view view_a as select .. from a;
> >
> > Then we have an pg_depend entry e.g.
> >
> > pg_class_relid
> > oid of the view_a
> > pg_class_relid
> > oid of the table a
> > 'a' the name of the table
> >
> > and so on.
> >
> > drop table a; (unadorned drop).
> >
> > Then the above entry would be changed to
> >
> > pg_class_relid(unchanged)
> > oid of the view_s(unchagned)
> > pg_class_relid(unchanged)
> > InvalidOid
> > 'a' the name of the table(unchanged)
> >
> > create table a (...);
> >
> > Then the pg_depend entry would be
> >
> > pg_class_relid(unchanged)
> > oid of the view_s(unchagned)
> > pg_class_relid(unchanged)
> > the oid of the new table a
> > 'a' the name of the table(unchanged)
>
> This step I disagree with. Well, I disagree with the automated aspect of
> the update. How does postgres know that the new table a is sufficiently
> like the old table that it should be used? A way the DBA could say, "yeah,
> restablish that," would be fine.
>
You could DROP a table with CASCADE or RESTRICT keyword if
you hate the behavior.
regards,
Hiroshi Inoue